package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-07.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum07 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {-4,-1,-10,9,-8,19,-109,29,24,39,-7,47,-97,56,-91,64,-30,71,-108,78,92,84,-120,89,-72,93,54,97,-35,99,120,101,106,102,95,102,-74,101,40,100,8,98,64,95,-55,91,-17,87,-117,83,-30,78,-26,73,-69,68,115,63,28,58,-45,52,-95,47,-101,42,-63,37,71,33,2,29,61,25,-71,21,-66,18,12,16,-58,13,1,12,-122,10,-119,9,-59,8,109,8,51,8,41,8,117,8,-83,8,33,9,97,9,-60,9,-49,9,-70,9,-111,9,-4,8,67,8,9,7,-103,5,-89,3,68,1,-72,-2,-108,-5,63,-8,96,-12,57,-16,-24,-21,59,-25,123,-30,121,-35,124,-40,98,-45,81,-50,115,-55,-80,-60,54,-64,-6,-69,41,-72,-79,-76,-73,-79,67,-81,80,-83,-5,-85,51,-85,19,-85,-112,-85,-77,-84,99,-82,-68,-80,-110,-77,6,-73,-25,-70,80,-65,38,-60,49,-55,-86,-50,51,-44,18,-38,-6,-33,-45,-27,-70,-21,107,-15,18,-9,96,-4,-112,1,111,6,-52,10,-19,14,126,18,-49,21,-127,24,-11,26,-10,28,92,30,-114,31,46,32,-87,32,-88,32,-112,32,59,32,-102,31,-5,30,47,30,121,29,-75,28,27,28,-83,27,68,27,57,27,69,27,-72,27,100,28,88,29,-96,30,53,32,20,34,61,36,-96,38,63,41,14,44,-2,46,14,50,33,53,56,56,54,59,6,62,-61,64,33,67,80,69,-2,70,99,72,47,73,121,73,85,73,125,72,35,71,16,69,78,66,31,63,29,59,-74,54,-128,49,-11,43,-80,37,-1,30,13,24,-102,16,9,9,24,1,44,-7,9,-15,-27,-24,12,-31,39,-39,-72,-47,99,-54,-95,-61,42,-67,51,-73,-15,-79,28,-83,22,-87,-110,-91,-28,-94,-49,-96,111,-97,-39,-98,-34,-98,-96,-97,-4,-96,-3,-94,-111,-91,-81,-88,60,-84,71,-80,-102,-76,83,-71,66,-66,90,-61,-100,-56,-34,-51,55,-45,107,-40,-97,-35,-83,-30,109,-25,21,-20,89,-16,122,-12,40,-8,-80,-5,-34,-2,-101,1,47,4,77,6,78,8,-29,9,99,11,-79,12,-93,13,-94,14,85,15,39,16,-25,16,-122,17,77,18,4,19,-13,19,-37,20,8,22,93,23,-76,24,90,26,13,28,3,30,8,32,75,34,-88,36,12,39,-104,41,26,44,-73,46,50,49,-71,51,23,54,85,56,103,58,63,60,-38,61,45,63,47,64,-43,64,43,65,14,65,-100,64,-78,63,91,62,-75,60,-117,58,23,56,42,53,-9,49,90,46,105,42,86,38,-24,33,107,29,-94,24,-28,19,-14,14,-9,9,47,5,76,0,-80,-5,21,-9,-53,-14,-100,-18,-100,-22,26,-25,-80,-29,-61,-32,-2,-35,-71,-37,-102,-39,-40,-41,-124,-42,95,-43,-94,-44,20,-44,-69,-45,-62,-45,-42,-45,51,-44,-99,-44,45,-43,-55,-43,99,-42,30,-41,-69,-41,95,-40,-20,-40,101,-39,-57,-39,6,-38,45,-38,53,-38,27,-38,-21,-39,-112,-39,49,-39,-74,-40,35,-40,-106,-41,-14,-42,106,-42,-15,-43,109,-43,40,-43,-30,-44,-18,-44,9,-43,-128,-43,65,-42,28,-41,116,-40,-16,-39,-20,-37,21,-34,-66,-32,-64,-29,-15,-26,-93,-22,120,-18,-58,-14,41,-9,-3,-5,-6,0,12,6,94,11,-87,16,35,22,126,27,-17,32,76,38,104,43,118,48,47,53,-63,57,3,62,-41,65,103,69,118,72,44,75,96,77,40,79,116,80,65,81,-113,81,101,81,-72,80,-99,79,5,78,0,76,-101,73,-56,70,-86,67,37,64,114,60,98,56,33,52,-56,47,50,43,-94,38,-32,33,57,29,116,24,-73,19,46,15,-102,10,75,6,-5,1,-44,-3,1,-6,54,-10,-59,-14,99,-17,92,-20,102,-23,-92,-26,59,-28,-32,-31,-36,-33,-36,-35,53,-36,-122,-38,14,-39,-57,-41,-110,-42,-122,-43,-122,-44,-83,-45,-42,-46,15,-46,115,-47,-50,-48,80,-48,-51,-49,103,-49,6,-49,-76,-50,124,-50,85,-50,62,-50,70,-50,95,-50,-105,-50,-20,-50,95,-49,-9,-49,-83,-48,-108,-47,-91,-46,-48,-45,54,-43,-75,-42,116,-40,74,-38,96,-36,-87,-34,-7,-32,-112,-29,45,-26,10,-23,-24,-21,2,-17,52,-14,87,-11,-86,-8,-25,-5,74,-1,-77,2,-20,5,71,9,106,12,-90,15,-98,18,-89,21,-117,24,48,27,-54,29,35,32,103,34,106,36,87,38,21,40,-116,41,-27,42,0,44,-3,44,-73,45,96,46,-49,46,21,47,55,47,45,47,15,47,-64,46,102,46,-29,45,79,45,-93,44,-28,43,16,43,40,42,64,41,56,40,58,39,24,38,7,37,-49,35,-112,34,92,33,5,32,-70,30,75,29,-25,27,90,26,-69,24,41,23,104,21,-74,19,-55,17,-16,15,-39,13,-84,11,-108,9,53,7,-15,4,106,2,-11,-1,74,-3,-120,-6,-33,-9,0,-11,57,-14,71,-17,78,-20,115,-23,119,-26,-98,-29,-81,-32}; }
	private static byte[] data1(){ return new byte[] {-25,-35,23,-37,90,-40,-52,-43,67,-45,-16,-48,-80,-50,-92,-52,-68,-54,2,-55,-123,-57,56,-58,36,-59,80,-60,-78,-61,92,-61,71,-61,109,-61,-34,-61,-117,-60,127,-59,-78,-58,45,-56,-10,-55,-34,-53,33,-50,-126,-48,54,-45,34,-42,30,-39,109,-36,-65,-33,94,-29,-7,-26,-42,-22,-54,-18,-80,-14,-57,-10,-57,-6,-19,-2,-17,2,19,7,39,11,16,15,1,19,-70,22,121,26,-13,29,105,33,-76,36,-75,39,-98,42,59,45,-69,47,-28,49,-14,51,-71,53,47,55,122,56,110,57,53,58,-76,58,-19,58,-23,58,-92,58,35,58,101,57,108,56,65,55,-38,53,74,52,-123,50,-104,48,-120,46,75,44,-19,41,-126,39,-17,36,93,34,-93,31,-8,28,42,26,87,23,-94,20,-54,17,28,15,87,12,-103,9,13,7,106,4,-6,1,125,-1,49,-3,-36,-6,-107,-8,-117,-10,113,-12,-116,-14,-97,-16,-33,-18,24,-19,98,-21,-38,-23,74,-24,-32,-26,111,-27,33,-28,-52,-30,124,-31,90,-32,36,-33,21,-34,-5,-36,-3,-37,1,-37,7,-38,56,-39,92,-40,-88,-41,-14,-42,89,-42,-42,-43,102,-43,17,-43,-40,-44,-74,-44,-67,-44,-30,-44,35,-43,-112,-43,27,-42,-43,-42,-83,-41,-70,-40,-8,-39,68,-37,-44,-36,116,-34,82,-32,65,-30,106,-28,-67,-26,12,-23,-98,-21,37,-18,-24,-16,-103,-13,-127,-10,111,-7,75,-4,66,-1,34,2,24,5,8,8,-50,10,-101,13,62,16,-27,18,83,21,-61,23,21,26,36,28,51,30,-4,31,-67,33,63,35,-76,36,-5,37,18,39,14,40,-34,40,-110,41,34,42,-109,42,-19,42,31,43,65,43,66,43,54,43,12,43,-42,42,-125,42,44,42,-70,41,65,41,-79,40,11,40,105,39,-95,38,-32,37,-16,36,14,36,-14,34,-54,33,-105,32,60,31,-47,29,57,28,-109,26,-76,24,-83,22,-93,20,81,18,1,16,95,13,-58,10,-39,7,-42,4,-56,1,-124,-2,61,-5,-58,-9,82,-12,-72,-16,13,-19,-127,-23,-41,-27,80,-30,-66,-34,65,-37,-7,-41,-69,-44,-66,-47,-39,-50,65,-52,-47,-55,-85,-57,-44,-59,66,-60,8,-61,27,-62,-119,-63,77,-63,110,-63,-22,-63,-63,-62,-20,-61,115,-59,69,-57,114,-55,-20,-53,-101,-50,-96,-47,-61,-44,54,-40,-52,-37,118,-33,77,-29,37,-25,26,-21,1,-17,-12,-14,-28,-10,-97,-6,97,-2,-35,1,89,5,-126,8,-91,11,-118,14,37,17,-103,19,-63,21,-61,23,114,25,8,27,97,28,113,29,96,30,14,31,-91,31,4,32,83,32,-116,32,-116,32,-104,32,121,32,109,32,77,32,42,32,9,32,-20,31,-40,31,-50,31,-51,31,-30,31,-15,31,25,32,68,32,119,32,-71,32,-13,32,49,33,112,33,-98,33,-50,33,-35,33,-19,33,-54,33,-111,33,67,33,-67,32,39,32,69,31,86,30,18,29,-95,27,22,26,58,24,72,22,8,20,-108,17,19,15,74,12,119,9,104,6,90,3,23,0,-62,-4,-123,-7,34,-10,-24,-14,-109,-17,115,-20,74,-23,66,-26,125,-29,-63,-32,87,-34,0,-36,-2,-39,33,-40,-126,-42,61,-43,32,-44,89,-45,-60,-46,124,-46,105,-46,-107,-46,-2,-46,-101,-45,105,-44,99,-43,-121,-42,-53,-41,46,-39,-89,-38,51,-36,-54,-35,109,-33,26,-31,-76,-30,88,-28,-30,-27,117,-25,-29,-24,88,-22,-66,-21,-8,-20,63,-18,86,-17,125,-16,122,-15,-116,-14,-106,-13,-127,-12,-120,-11,118,-10,-116,-9,-84,-8,-63,-7,7,-5,71,-4,-62,-3,59,-1,-10,0,-51,2,-78,4,-50,6,-7,8,97,11,-52,13,115,16,45,19,-19,21,-49,24,-85,27,-96,30,-124,33,111,36,73,39,-3,41,-92,44,20,47,99,49,117,51,74,53,-32,54,40,56,32,57,-54,57,16,58,-1,57,-110,57,-58,56,-102,55,17,54,46,52,-24,49,71,47,105,44,45,41,-61,37,3,34,39,30,9,26,-68,21,126,17,9,13,-80,8,60,4,-16,-1,-99,-5,109,-9,124,-13,-94,-17,22,-20,-84,-24,-97,-27,-65,-30,37,-32,-5,-35,-10,-37,108,-38,4,-39,-11,-41,70,-41,-57,-42,-94,-42,-88,-42,-8,-42,106,-41,16,-40,-29,-40,-40,-39,-32,-38,4,-36,45,-35,100,-34,-111,-33,-56,-32,-22,-31,4,-29,14,-28,-3,-28,-29,-27,-86,-26,87,-25,-14,-25,107,-24,-32,-24,49,-23,-123,-23,-53,-23,-5,-23,56,-22,99,-22,-81,-22,-3,-22,83,-21,-57,-21,78,-20,-1,-20,-64,-19,-60,-18,-22,-17,44,-15,-87,-14,70,-12,37,-10,27,-8,85,-6,-69,-4,43,-1,-37,1,-117,4,115,7,80,10,90,13,98,16,91,19,86,22,61,25,18,28,-58,30,92,33,-50,35,-4,37,4,40,-64,41,79,43,-114,44,-118,45,61,46,-91,46,-57,46,-99,46,40,46,119,45,119,44,70,43}; }
	private static byte[] data2(){ return new byte[] {-50,41,46,40,83,38,87,36,40,34,-14,31,-106,29,56,27,-59,24,93,22,-19,19,125,17,60,15,-19,12,-41,10,-67,8,-57,6,7,5,83,3,-42,1,100,0,47,-1,-7,-3,-25,-4,4,-4,38,-5,107,-6,-80,-7,15,-7,98,-8,-76,-9,26,-9,99,-10,-74,-11,-30,-12,21,-12,20,-13,6,-14,-29,-16,-99,-17,73,-18,-59,-20,62,-21,-122,-23,-60,-25,-16,-27,10,-28,33,-30,41,-32,61,-34,81,-36,122,-38,-78,-40,11,-41,-126,-43,38,-44,-1,-46,1,-46,80,-47,-48,-48,-88,-48,-71,-48,38,-47,-23,-47,-27,-46,80,-44,-15,-43,-3,-41,63,-38,-29,-36,-48,-33,-29,-30,81,-26,-44,-23,-87,-19,125,-15,-106,-11,-67,-7,-45,-3,18,2,34,6,72,10,81,14,31,18,-31,21,87,25,-81,28,-78,31,-124,34,25,37,62,39,57,41,-58,42,25,44,7,45,-73,45,23,46,31,46,-19,45,105,45,-75,44,-71,43,-106,42,66,41,-60,39,42,38,112,36,-84,34,-44,32,-5,30,27,29,73,27,117,25,-66,23,10,22,108,20,-11,18,-128,17,64,16,-5,14,-15,13,-38,12,-21,11,21,11,72,10,-110,9,-37,8,53,8,-120,7,-56,6,43,6,92,5,-91,4,-73,3,-38,2,-63,1,-109,0,99,-1,-7,-3,-112,-4,-18,-6,71,-7,114,-9,123,-11,-114,-13,113,-15,96,-17,42,-19,-10,-22,-52,-24,-99,-26,-126,-28,108,-30,121,-32,-108,-34,-43,-36,66,-37,-42,-39,-97,-40,-104,-41,-50,-42,57,-42,-24,-43,-48,-43,-3,-43,105,-42,20,-41,-4,-41,36,-39,-119,-38,24,-36,-22,-35,-42,-33,-2,-31,74,-28,-96,-26,37,-23,-91,-21,69,-18,-38,-16,125,-13,38,-10,-97,-8,45,-5,-123,-3,-35,-1,4,2,29,4,27,6,-41,7,-120,9,-3,10,95,12,-119,13,-93,14,-98,15,99,16,28,17,-80,17,55,18,-96,18,9,19,106,19,-81,19,4,20,70,20,-97,20,-5,20,85,21,-61,21,55,22,-65,22,79,23,-9,23,-89,24,102,25,44,26,0,27,-45,27,-80,28,-123,29,88,30,33,31,-36,31,-124,32,20,33,-118,33,-41,33,-4,33,3,34,-45,33,119,33,-28,32,29,32,25,31,-56,29,100,28,-95,26,-57,24,-106,22,54,20,-75,17,-16,14,29,12,3,9,-18,5,-97,2,60,-1,-18,-5,115,-8,34,-11,-75,-15,118,-18,52,-21,15,-24,40,-27,80,-30,-63,-33,79,-35,41,-37,50,-39,118,-41,20,-42,-30,-44,6,-44,100,-45,14,-45,-6,-46,37,-45,-104,-45,69,-44,45,-43,73,-42,-101,-41,21,-39,-74,-38,125,-36,95,-34,84,-32,104,-30,127,-28,-96,-26,-59,-24,-29,-22,4,-19,14,-17,30,-15,28,-13,-6,-12,-44,-10,-123,-8,58,-6,-69,-5,68,-3,-73,-2,-6,-1,74,1,104,2,-106,3,-75,4,-82,5,-68,6,-88,7,-87,8,-107,9,-111,10,-104,11,-122,12,-108,13,-114,14,-87,15,-77,16,-37,17,7,19,39,20,91,21,-122,22,-72,23,-26,24,14,26,60,27,74,28,87,29,80,30,47,31,-1,31,-83,32,63,33,-78,33,-7,33,39,34,29,34,-14,33,-101,33,19,33,105,32,-121,31,-124,30,80,29,-28,27,114,26,-71,24,-1,22,9,21,19,19,-23,16,-75,14,123,12,45,10,-30,7,-120,5,64,3,-22,0,-100,-2,117,-4,70,-6,70,-8,66,-10,112,-12,-90,-14,-11,-16,-127,-17,15,-18,-39,-20,-86,-21,-96,-22,-58,-23,-5,-24,90,-24,-55,-25,94,-25,-3,-26,-77,-26,-121,-26,97,-26,86,-26,72,-26,82,-26,89,-26,105,-26,-125,-26,-105,-26,-73,-26,-51,-26,-21,-26,7,-25,38,-25,65,-25,98,-25,126,-25,-90,-25,-53,-25,1,-24,64,-24,127,-24,-42,-24,49,-23,-85,-23,59,-22,-49,-22,-115,-21,80,-20,71,-19,63,-18,117,-17,-68,-16,25,-14,-97,-13,54,-11,-3,-10,-53,-8,-54,-6,-28,-4,-9,-2,61,1,116,3,-41,5,38,8,-106,10,0,13,92,15,-70,17,4,20,71,22,106,24,-122,26,124,28,83,30,-1,31,-113,33,-21,34,39,36,36,37,-3,37,-103,38,14,39,66,39,82,39,29,39,-54,38,46,38,124,37,-123,36,120,35,49,34,-56,32,67,31,-104,29,-40,27,-8,25,14,24,3,22,-21,19,-35,17,-84,15,-102,13,100,11,59,9,40,7,7,5,8,3,-2,0,22,-1,42,-3,77,-5,-106,-7,-32,-9,77,-10,-69,-12,83,-13,-31,-15,-114,-16,85,-17,39,-18,21,-19,7,-20,23,-21,44,-22,71,-23,-112,-24,-57,-25,44,-25,-124,-26,-1,-27,119,-27,4,-27,-97,-28,78,-28,2,-28,-48,-29,-95,-29,-112,-29,-122,-29,-105,-29,-80,-29,-26,-29,39,-28,-118,-28,-15,-28,126,-27,17,-26,-56,-26,-118,-25,110,-24,104,-23,111,-22,-111,-21,-58,-20,16,-18,105,-17,-35,-16,105,-14}; }
	private static byte[] data3(){ return new byte[] {-19,-13,-110,-11,50,-9,-21,-8,-98,-6,103,-4,53,-2,-14,-1,-64,1,120,3,66,5,0,7,-89,8,82,10,-32,11,111,13,-32,14,76,16,-82,17,-34,18,20,20,31,21,39,22,2,23,-33,23,-108,24,56,25,-66,25,51,26,-118,26,-44,26,-2,26,32,27,32,27,22,27,-14,26,-64,26,125,26,37,26,-62,25,75,25,-49,24,57,24,-95,23,-20,22,65,22,121,21,-77,20,-42,19,-5,18,9,18,11,17,17,16,2,15,-14,13,-50,12,-80,11,118,10,48,9,-6,7,-99,6,92,5,-20,3,-103,2,32,1,-93,-1,59,-2,-83,-4,64,-5,-85,-7,55,-8,-92,-10,26,-11,-95,-13,25,-14,-86,-16,49,-17,-65,-19,106,-20,14,-21,-49,-23,-106,-24,114,-25,93,-26,91,-27,114,-28,-94,-29,-26,-30,70,-30,-61,-31,87,-31,11,-31,-35,-32,-56,-32,-39,-32,3,-31,78,-31,-70,-31,73,-30,-23,-30,-73,-29,-111,-28,-102,-27,-68,-26,-24,-25,68,-23,-96,-22,40,-20,-77,-19,97,-17,37,-15,-30,-14,-61,-12,-105,-10,-110,-8,117,-6,125,-4,125,-2,117,0,116,2,107,4,92,6,73,8,42,10,16,12,-53,13,-116,15,44,17,-59,18,61,20,-81,21,3,23,55,24,88,25,85,26,65,27,16,28,-77,28,75,29,-80,29,11,30,56,30,81,30,74,30,36,30,-32,29,-121,29,7,29,125,28,-54,27,8,27,49,26,62,25,65,24,41,23,10,22,-45,20,-117,19,71,18,-24,16,-105,15,35,14,-56,12,75,11,-42,9,107,8,-16,6,-116,5,15,4,-97,2,64,1,-44,-1,-123,-2,36,-3,-32,-5,-110,-6,71,-7,28,-8,-26,-10,-55,-11,-88,-12,-102,-13,-114,-14,-126,-15,-102,-16,-93,-17,-53,-18,-18,-19,36,-19,98,-20,-96,-21,-2,-22,88,-22,-57,-23,63,-23,-57,-24,87,-24,-8,-25,-86,-25,105,-25,60,-25,27,-25,14,-25,21,-25,42,-25,88,-25,-108,-25,-26,-25,78,-24,-47,-24,92,-23,6,-22,-68,-22,-113,-21,107,-20,110,-19,119,-18,-106,-17,-61,-16,-2,-15,84,-13,-92,-12,26,-10,-110,-9,7,-7,-104,-6,19,-4,-78,-3,71,-1,-46,0,106,2,-16,3,126,5,-9,6,121,8,-18,9,77,11,-92,12,-23,13,36,15,70,16,100,17,107,18,88,19,58,20,-2,20,-68,21,84,22,-18,22,103,23,-49,23,38,24,98,24,-101,24,-79,24,-56,24,-67,24,-77,24,-120,24,97,24,27,24,-51,23,120,23,8,23,-99,22,20,22,-113,21,-22,20,67,20,-113,19,-50,18,2,18,35,17,64,16,66,15,54,14,43,13,2,12,-37,10,-105,9,81,8,-13,6,126,5,25,4,-116,2,14,1,108,-1,-38,-3,41,-4,117,-6,-49,-8,17,-9,107,-11,-85,-13,-2,-15,88,-16,-70,-18,42,-19,-92,-21,52,-22,-47,-24,-128,-25,87,-26,56,-27,67,-28,103,-29,-86,-30,20,-30,-102,-31,76,-31,34,-31,26,-31,65,-31,-128,-31,-7,-31,-123,-30,65,-29,25,-28,20,-27,49,-26,102,-25,-63,-24,46,-22,-78,-21,72,-19,-22,-18,-89,-16,103,-14,43,-12,-9,-11,-67,-9,-115,-7,75,-5,14,-3,-48,-2,105,0,21,2,-113,3,25,5,116,6,-45,7,30,9,62,10,95,11,87,12,79,13,29,14,-17,14,-90,15,64,16,-40,16,79,17,-53,17,42,18,-122,18,-34,18,26,19,96,19,-114,19,-59,19,-20,19,20,20,49,20,81,20,101,20,123,20,-119,20,-111,20,-103,20,-112,20,-114,20,116,20,95,20,51,20,-4,19,-63,19,108,19,20,19,-99,18,36,18,-122,17,-39,16,35,16,72,15,107,14,101,13,79,12,48,11,-15,9,-84,8,72,7,-26,5,95,4,-45,2,71,1,-87,-1,17,-2,104,-4,-50,-6,38,-7,-124,-9,-8,-11,107,-12,-12,-14,-125,-15,47,-16,-31,-18,-83,-19,-103,-20,-108,-21,-73,-22,-27,-23,66,-23,-84,-24,52,-24,-26,-25,-90,-25,-113,-25,-118,-25,-94,-25,-43,-25,31,-24,124,-24,-15,-24,118,-23,11,-22,-72,-22,96,-21,38,-20,-30,-20,-72,-19,-126,-18,96,-17,61,-16,21,-15,-12,-15,-51,-14,-84,-13,-126,-12,99,-11,64,-10,19,-9,-16,-9,-65,-8,-95,-7,110,-6,85,-5,57,-4,23,-3,2,-2,-21,-2,-29,-1,-23,0,-28,1,-12,2,5,4,35,5,69,6,117,7,-76,8,-28,9,47,11,105,12,-71,13,-7,14,71,16,-116,17,-57,18,-1,19,37,21,71,22,79,23,76,24,49,25,-5,25,-83,26,64,27,-74,27,9,28,60,28,66,28,49,28,-24,27,-113,27,-10,26,74,26,109,25,115,24,85,23,14,22,-73,20,46,19,-109,17,-22,15,29,14,83,12,100,10,-125,8,-123,6,-120,4,-101,2,-95,0,-64,-2,-38,-4,17,-5,76,-7,-108,-9,10,-10,-127,-12,42,-13,-42,-15,-75,-16}; }
	private static byte[] data4(){ return new byte[] {-101,-17,-91,-18,-41,-19,27,-19,-121,-20,5,-20,-101,-21,90,-21,32,-21,16,-21,0,-21,22,-21,43,-21,85,-21,-112,-21,-47,-21,30,-20,112,-20,-59,-20,34,-19,126,-19,-34,-19,63,-18,-101,-18,-3,-18,90,-17,-75,-17,30,-16,111,-16,-39,-16,49,-15,-102,-15,8,-14,109,-14,-23,-14,92,-13,-25,-13,114,-12,16,-11,-60,-11,112,-10,62,-9,11,-8,-10,-8,-26,-7,-16,-6,16,-4,44,-3,103,-2,-96,-1,-9,0,67,2,-78,3,27,5,-123,6,-8,7,97,9,-44,10,51,12,-104,13,-15,14,49,16,108,17,-120,18,-99,19,-107,20,111,21,54,22,-44,22,98,23,-56,23,18,24,65,24,72,24,52,24,2,24,-82,23,67,23,-70,22,19,22,93,21,-117,20,-88,19,-75,18,-78,17,-95,16,-124,15,101,14,63,13,24,12,-19,10,-53,9,-98,8,123,7,101,6,78,5,76,4,67,3,68,2,93,1,116,0,-99,-1,-56,-2,4,-2,59,-3,122,-4,-56,-5,20,-5,109,-6,-71,-7,26,-7,100,-8,-73,-9,15,-9,90,-10,-82,-11,-13,-12,62,-12,124,-13,-74,-14,-9,-15,47,-15,104,-16,-96,-17,-37,-18,20,-18,86,-19,-99,-20,-19,-21,72,-21,-79,-22,37,-22,-77,-23,74,-23,-1,-24,-56,-24,-87,-24,-83,-24,-54,-24,3,-23,96,-23,-44,-23,117,-22,39,-21,8,-20,11,-19,26,-18,92,-17,-93,-16,26,-14,-109,-13,57,-11,-24,-10,-92,-8,109,-6,62,-4,27,-2,0,0,-44,1,-79,3,124,5,67,7,-6,8,-96,10,65,12,-79,13,31,15,95,16,-107,17,-100,18,-107,19,110,20,21,21,-79,21,24,22,116,22,-92,22,-67,22,-65,22,-105,22,103,22,20,22,-78,21,62,21,-76,20,36,20,-127,19,-41,18,37,18,107,17,-83,16,-17,15,44,15,111,14,-83,13,-14,12,56,12,119,11,-52,10,18,10,110,9,-72,8,29,8,104,7,-66,6,30,6,107,5,-51,4,18,4,109,3,-88,2,-22,1,39,1,89,0,-116,-1,-88,-2,-50,-3,-38,-4,-32,-5,-19,-6,-27,-7,-25,-8,-46,-9,-62,-10,-77,-11,-91,-12,-107,-13,-112,-14,-123,-15,-112,-16,-111,-17,-76,-18,-39,-19,18,-19,95,-20,-69,-21,52,-21,-71,-22,101,-22,31,-22,-5,-23,-16,-23,-1,-23,45,-22,120,-22,-40,-22,91,-21,-17,-21,-93,-20,105,-19,71,-18,66,-17,60,-16,90,-15,112,-14,-88,-13,-32,-12,25,-10,97,-9,-101,-8,-22,-7,33,-5,107,-4,-92,-3,-44,-2,-3,-1,24,1,46,2,47,3,46,4,36,5,-9,5,-46,6,-116,7,76,8,-19,8,-110,9,44,10,-85,10,53,11,-94,11,23,12,125,12,-31,12,72,13,-99,13,-10,13,79,14,-101,14,-5,14,61,15,-105,15,-37,15,45,16,111,16,-68,16,-13,16,56,17,100,17,-101,17,-71,17,-38,17,-28,17,-26,17,-39,17,-66,17,-111,17,78,17,2,17,-112,16,19,16,-126,15,-44,14,27,14,60,13,74,12,78,11,48,10,12,9,-57,7,126,6,26,5,-91,3,53,2,-80,0,43,-1,-97,-3,19,-4,-125,-6,-12,-8,119,-9,-5,-11,-109,-12,45,-13,-24,-15,-93,-16,124,-17,110,-18,115,-19,-100,-20,-47,-21,52,-21,-96,-22,55,-22,-29,-23,-77,-23,-101,-23,-95,-23,-65,-23,-3,-23,78,-22,-70,-22,61,-21,-51,-21,122,-20,51,-19,-11,-19,-47,-18,-90,-17,-106,-16,127,-15,120,-14,118,-13,105,-12,110,-11,94,-10,101,-9,80,-8,79,-7,67,-6,41,-5,25,-4,-14,-4,-39,-3,-87,-2,-123,-1,90,0,32,1,-19,1,-85,2,113,3,58,4,-22,4,-79,5,95,6,30,7,-47,7,-120,8,71,9,-16,9,-85,10,82,11,7,12,-84,12,85,13,-2,13,-108,14,46,15,-71,15,66,16,-71,16,47,17,-112,17,-25,17,49,18,102,18,-112,18,-93,18,-87,18,-109,18,121,18,52,18,-9,17,-119,17,26,17,-114,16,-13,15,71,15,-125,14,-75,13,-49,12,-41,11,-29,10,-48,9,-59,8,-96,7,-122,6,84,5,36,4,-4,2,-56,1,-93,0,118,-1,87,-2,54,-3,25,-4,19,-5,15,-6,26,-7,45,-8,84,-9,126,-10,-74,-11,6,-11,90,-12,-56,-13,54,-13,-74,-14,75,-14,-29,-15,-111,-15,68,-15,3,-15,-44,-16,-100,-16,-120,-16,99,-16,93,-16,77,-16,78,-16,84,-16,93,-16,113,-16,-119,-16,-93,-16,-49,-16,-18,-16,41,-15,92,-15,-102,-15,-29,-15,40,-14,-123,-14,-29,-14,72,-13,-70,-13,51,-12,-71,-12,71,-11,-28,-11,-108,-10,62,-9,5,-8,-59,-8,-89,-7,122,-6,118,-5,106,-4,105,-3,120,-2,-128,-1,-92,0,-74,1,-30,2,12,4,46,5,88,6,124,7,-98,8,-68,9,-47,10,-24,11,-27,12,-31,13,-55,14,-90,15,121,16,42,17,-37,17,100,18,-20,18,78,19}; }
	private static byte[] data5(){ return new byte[] {-89,19,-31,19,10,20,22,20,16,20,-15,19,-69,19,116,19,13,19,-95,18,17,18,-128,17,-50,16,26,16,73,15,113,14,-113,13,-95,12,-85,11,-84,10,-90,9,-99,8,-124,7,126,6,100,5,91,4,67,3,48,2,43,1,29,0,35,-1,28,-2,49,-3,53,-4,75,-5,106,-6,-114,-7,-63,-8,-16,-9,57,-9,117,-10,-61,-11,34,-11,125,-12,-16,-13,91,-13,-31,-14,94,-14,-14,-15,-123,-15,46,-15,-40,-16,-115,-16,81,-16,25,-16,-19,-17,-48,-17,-72,-17,-79,-17,-77,-17,-64,-17,-37,-17,-2,-17,53,-16,110,-16,-67,-16,16,-15,125,-15,-26,-15,104,-14,-20,-14,-123,-13,30,-12,-47,-12,-121,-11,69,-10,19,-9,-36,-9,-66,-8,-104,-7,-125,-6,123,-5,94,-4,96,-3,75,-2,77,-1,76,0,60,1,59,2,40,3,28,4,7,5,-20,5,-40,6,-89,7,125,8,65,9,0,10,-77,10,92,11,4,12,-117,12,28,13,-115,13,0,14,95,14,-76,14,-1,14,55,15,105,15,-123,15,-93,15,-93,15,-88,15,-107,15,126,15,88,15,41,15,-19,14,-87,14,89,14,5,14,-97,13,57,13,-59,12,74,12,-62,11,59,11,-89,10,15,10,111,9,-55,8,29,8,95,7,-78,6,-21,5,49,5,100,4,-97,3,-54,2,-12,1,33,1,75,0,111,-1,-104,-2,-69,-3,-32,-4,-5,-5,42,-5,75,-6,125,-7,-91,-8,-47,-9,15,-9,68,-10,-114,-11,-48,-12,42,-12,122,-13,-31,-14,75,-14,-60,-15,73,-15,-44,-16,116,-16,25,-16,-48,-17,-108,-17,104,-17,71,-17,59,-17,55,-17,73,-17,104,-17,-107,-17,-45,-17,33,-16,122,-16,-26,-16,94,-15,-20,-15,123,-14,33,-13,-54,-13,-120,-12,84,-11,27,-10,-3,-10,-44,-9,-55,-8,-82,-7,-81,-6,-83,-5,-89,-4,-78,-3,-85,-2,-65,-1,-75,0,-56,1,-55,2,-55,3,-60,4,-71,5,-85,6,-110,7,120,8,84,9,32,10,-23,10,-98,11,83,12,-18,12,-120,13,22,14,-120,14,-3,14,82,15,-89,15,-25,15,23,16,58,16,76,16,79,16,71,16,42,16,5,16,-50,15,-118,15,60,15,-37,14,118,14,-2,13,124,13,-11,12,93,12,-60,11,28,11,115,10,-68,9,-1,8,67,8,123,7,-69,6,-24,5,26,5,77,4,121,3,-82,2,-38,1,10,1,63,0,97,-1,-87,-2,-49,-3,27,-3,73,-4,-99,-5,-43,-6,34,-6,116,-7,-57,-8,39,-8,-122,-9,-17,-10,94,-10,-54,-11,79,-11,-52,-12,93,-12,-20,-13,-117,-13,44,-13,-40,-14,-115,-14,78,-14,20,-14,-23,-15,-61,-15,-85,-15,-100,-15,-102,-15,-97,-15,-78,-15,-48,-15,-5,-15,46,-14,113,-14,-74,-14,21,-13,111,-13,-28,-13,91,-12,-34,-12,109,-11,1,-10,-91,-10,74,-9,-1,-9,-61,-8,119,-7,75,-6,11,-5,-23,-5,-76,-4,-105,-3,116,-2,77,-1,47,0,7,1,-24,1,-57,2,-104,3,110,4,57,5,4,6,-60,6,-127,7,59,8,-32,8,-120,9,29,10,-80,10,51,11,-80,11,37,12,-120,12,-28,12,53,13,119,13,-76,13,-32,13,9,14,31,14,46,14,50,14,44,14,28,14,2,14,-37,13,-81,13,121,13,56,13,-15,12,-103,12,68,12,-32,11,117,11,5,11,-120,10,9,10,117,9,-18,8,77,8,-74,7,8,7,100,6,-89,5,-19,4,48,4,102,3,-92,2,-52,1,2,1,36,0,69,-1,111,-2,-116,-3,-79,-4,-50,-5,-13,-6,20,-6,50,-7,99,-8,-118,-9,-61,-10,-9,-11,56,-11,-124,-12,-42,-13,57,-13,-98,-14,27,-14,-102,-15,48,-15,-48,-16,-125,-16,69,-16,24,-16,-4,-17,-13,-17,-11,-17,19,-16,58,-16,117,-16,-61,-16,28,-15,-118,-15,8,-14,-112,-14,39,-13,-51,-13,122,-12,61,-11,-7,-11,-54,-10,-103,-9,116,-8,80,-7,50,-6,29,-5,-10,-5,-26,-4,-68,-3,-88,-2,121,-1,91,0,50,1,-4,1,-56,2,-126,3,66,4,-19,4,-100,5,65,6,-44,6,105,7,-20,7,111,8,-33,8,84,9,-71,9,27,10,109,10,-65,10,5,11,76,11,-126,11,-70,11,-30,11,16,12,42,12,77,12,92,12,113,12,116,12,124,12,115,12,110,12,87,12,65,12,31,12,-9,11,-55,11,-116,11,81,11,2,11,-87,10,87,10,-31,9,-126,9,-6,8,127,8,-17,7,78,7,-69,6,8,6,94,5,-95,4,-36,3,27,3,74,2,127,1,-92,0,-45,-1,-9,-2,19,-2,67,-3,98,-4,-107,-5,-68,-6,-10,-7,40,-7,102,-8,-78,-9,-1,-10,94,-10,-63,-11,53,-11,-79,-12,55,-12,-47,-13,118,-13,38,-13,-22,-14,-74,-14,-110,-14,123,-14,114,-14,118,-14,-121,-14,-93,-14,-52,-14,0,-13,61,-13,-125,-13,-43,-13,43,-12,-115,-12,-10,-12,95,-11,-42,-11,72,-10}; }
	private static byte[] data6(){ return new byte[] {-55,-10,65,-9,-53,-9,81,-8,-41,-8,103,-7,-23,-7,-125,-6,6,-5,-91,-5,53,-4,-54,-4,97,-3,-10,-3,-109,-2,52,-1,-54,-1,111,0,9,1,-80,1,77,2,-8,2,-94,3,68,4,-14,4,-110,5,66,6,-32,6,-111,7,46,8,-39,8,108,9,13,10,-99,10,44,11,-77,11,55,12,-91,12,23,13,115,13,-54,13,18,14,74,14,118,14,-108,14,-98,14,-97,14,-122,14,99,14,46,14,-29,13,-108,13,35,13,-75,12,38,12,-113,11,-18,10,56,10,-125,9,-81,8,-23,7,4,7,33,6,63,5,72,4,102,3,105,2,-126,1,-117,0,-102,-1,-74,-2,-48,-3,-15,-4,29,-4,79,-5,-119,-6,-53,-7,29,-7,119,-8,-31,-9,82,-9,-53,-10,95,-10,-19,-11,-99,-11,64,-11,8,-11,-60,-12,-104,-12,113,-12,90,-12,67,-12,64,-12,57,-12,66,-12,77,-12,96,-12,121,-12,-102,-12,-72,-12,-27,-12,13,-11,65,-11,117,-11,-83,-11,-24,-11,41,-10,108,-10,-76,-10,9,-9,79,-9,-80,-9,0,-8,106,-8,-48,-8,56,-7,-81,-7,33,-6,-92,-6,37,-5,-76,-5,74,-4,-34,-4,126,-3,32,-2,-51,-2,118,-1,46,0,-25,0,-96,1,91,2,25,3,-42,3,-110,4,82,5,13,6,-63,6,115,7,27,8,-61,8,90,9,-14,9,125,10,-10,10,112,11,-50,11,46,12,119,12,-75,12,-28,12,6,13,22,13,27,13,13,13,-8,12,-51,12,-103,12,90,12,9,12,-77,11,78,11,-37,10,106,10,-24,9,98,9,-39,8,69,8,-80,7,18,7,123,6,-40,5,65,5,-99,4,-7,3,101,3,-66,2,48,2,-113,1,1,1,104,0,-42,-1,76,-1,-65,-2,59,-2,-78,-3,55,-3,-80,-4,51,-4,-74,-5,65,-5,-58,-6,84,-6,-33,-7,109,-7,-9,-8,-114,-8,27,-8,-72,-9,72,-9,-23,-10,-127,-10,34,-10,-57,-11,113,-11,30,-11,-44,-12,-115,-12,80,-12,27,-12,-20,-13,-53,-13,-82,-13,-91,-13,-98,-13,-85,-13,-67,-13,-30,-13,18,-12,80,-12,-99,-12,-7,-12,94,-11,-42,-11,86,-10,-22,-10,127,-9,45,-8,-29,-8,-102,-7,105,-6,42,-5,13,-4,-38,-4,-60,-3,-90,-2,-119,-1,111,0,79,1,51,2,22,3,-23,3,-63,4,-123,5,79,6,0,7,-74,7,91,8,-17,8,127,9,-9,9,112,10,-55,10,42,11,108,11,-87,11,-41,11,-12,11,10,12,17,12,9,12,-2,11,-30,11,-67,11,-109,11,90,11,31,11,-36,10,-114,10,66,10,-21,9,-109,9,55,9,-48,8,118,8,7,8,-87,7,55,7,-47,6,96,6,-17,5,-128,5,13,5,-100,4,33,4,-78,3,48,3,-76,2,57,2,-74,1,54,1,-80,0,44,0,-98,-1,16,-1,-126,-2,-11,-3,97,-3,-47,-4,62,-4,-91,-5,20,-5,126,-6,-17,-7,95,-7,-45,-8,70,-8,-59,-9,69,-9,-49,-10,89,-10,-11,-11,-114,-11,55,-11,-20,-12,-92,-12,113,-12,65,-12,37,-12,13,-12,11,-12,13,-12,38,-12,65,-12,116,-12,-87,-12,-14,-12,72,-11,-97,-11,17,-10,121,-10,0,-9,126,-9,16,-8,-96,-8,58,-7,-37,-7,118,-6,35,-5,-52,-5,113,-4,31,-3,-62,-3,112,-2,14,-1,-71,-1,88,0,-13,0,-114,1,27,2,-79,2,48,3,-68,3,58,4,-78,4,35,5,-111,5,-8,5,90,6,-74,6,21,7,94,7,-74,7,-8,7,63,8,-124,8,-68,8,-10,8,42,9,88,9,-122,9,-83,9,-48,9,-16,9,8,10,31,10,45,10,57,10,58,10,58,10,46,10,32,10,8,10,-25,9,-63,9,-113,9,81,9,19,9,-61,8,112,8,15,8,-87,7,49,7,-75,6,49,6,-95,5,14,5,108,4,-63,3,28,3,99,2,-79,1,-14,0,52,0,115,-1,-86,-2,-20,-3,38,-3,106,-4,-87,-5,-10,-6,58,-6,-113,-7,-27,-8,75,-8,-76,-9,39,-9,-87,-10,48,-10,-60,-11,103,-11,22,-11,-48,-12,-103,-12,113,-12,77,-12,65,-12,59,-12,66,-12,92,-12,115,-12,-87,-12,-41,-12,28,-11,99,-11,-75,-11,17,-10,111,-10,-34,-10,70,-9,-65,-9,49,-8,-79,-8,43,-7,-79,-7,55,-6,-71,-6,67,-5,-58,-5,82,-4,-45,-4,98,-3,-23,-3,109,-2,-9,-2,117,-1,-2,-1,-125,0,0,1,-124,1,-3,1,-128,2,-14,2,118,3,-22,3,100,4,-43,4,72,5,-74,5,36,6,-115,6,-6,6,88,7,-69,7,20,8,106,8,-67,8,8,9,80,9,-112,9,-59,9,-7,9,34,10,65,10,93,10,105,10,114,10,109,10,97,10,75,10,36,10,2,10,-61,9,-114,9,62,9,-16,8,-110,8,44,8,-63,7,75,7,-48,6,75,6,-60,5,53,5,-102,4,9,4,105,3,-50,2,47,2,-114,1,-19,0,70,0,-81,-1}; }
	private static byte[] data7(){ return new byte[] {9,-1,120,-2,-38,-3,74,-3,-69,-4,41,-4,-86,-5,40,-5,-80,-6,62,-6,-54,-7,108,-7,7,-7,-76,-8,98,-8,22,-8,-40,-9,-108,-9,100,-9,51,-9,14,-9,-23,-10,-44,-10,-72,-10,-84,-10,-92,-10,-96,-10,-93,-10,-86,-10,-72,-10,-52,-10,-27,-10,1,-9,39,-9,75,-9,127,-9,-86,-9,-21,-9,38,-8,106,-8,-74,-8,-2,-8,90,-7,-77,-7,17,-6,122,-6,-33,-6,83,-5,-58,-5,63,-4,-56,-4,66,-3,-46,-3,87,-2,-22,-2,122,-1,17,0,-83,0,65,1,-35,1,118,2,15,3,-89,3,62,4,-41,4,99,5,-11,5,119,6,-1,6,121,7,-18,7,101,8,-62,8,41,9,120,9,-57,9,10,10,63,10,111,10,-112,10,-88,10,-74,10,-75,10,-81,10,-104,10,124,10,82,10,31,10,-29,9,-100,9,75,9,-12,8,-107,8,45,8,-63,7,75,7,-46,6,79,6,-50,5,69,5,-67,4,44,4,-101,3,12,3,121,2,-23,1,83,1,-57,0,48,0,-93,-1,19,-1,-118,-2,2,-2,123,-3,-3,-4,122,-4,-5,-5,-117,-5,19,-5,-87,-6,62,-6,-38,-7,122,-7,30,-7,-54,-8,121,-8,52,-8,-22,-9,-78,-9,120,-9,66,-9,30,-9,-13,-10,-38,-10,-65,-10,-78,-10,-91,-10,-88,-10,-90,-10,-71,-10,-57,-10,-27,-10,7,-9,45,-9,98,-9,-108,-9,-40,-9,23,-8,104,-8,-68,-8,18,-7,116,-7,-43,-7,66,-6,-79,-6,37,-5,-94,-5,27,-4,-97,-4,29,-3,-86,-3,40,-2,-68,-2,68,-1,-49,-1,93,0,-30,0,114,1,-6,1,-128,2,3,3,-124,3,-1,3,121,4,-18,4,98,5,-54,5,46,6,-110,6,-27,6,63,7,-124,7,-43,7,11,8,73,8,118,8,-94,8,-60,8,-33,8,-12,8,1,9,6,9,6,9,-4,8,-19,8,-40,8,-71,8,-105,8,109,8,61,8,7,8,-54,7,-120,7,66,7,-10,6,-91,6,78,6,-10,5,-113,5,52,5,-58,4,99,4,-20,3,-121,3,7,3,-107,2,28,2,-97,1,40,1,-90,0,44,0,-86,-1,39,-1,-82,-2,42,-2,-79,-3,50,-3,-70,-4,64,-4,-58,-5,86,-5,-29,-6,123,-6,15,-6,-87,-7,77,-7,-17,-8,-97,-8,78,-8,5,-8,-58,-9,-124,-9,86,-9,36,-9,2,-9,-32,-10,-48,-10,-69,-10,-70,-10,-71,-10,-62,-10,-40,-10,-17,-10,19,-9,60,-9,114,-9,-88,-9,-18,-9,49,-8,-121,-8,-36,-8,57,-7,-98,-7,3,-6,120,-6,-29,-6,100,-5,-35,-5,95,-4,-30,-4,102,-3,-13,-3,118,-2,8,-1,-108,-1,33,0,-84,0,57,1,-64,1,74,2,-49,2,89,3,-45,3,83,4,-56,4,61,5,-85,5,20,6,124,6,-44,6,49,7,123,7,-56,7,13,8,65,8,124,8,-95,8,-56,8,-29,8,-11,8,5,9,5,9,5,9,-11,8,-27,8,-56,8,-88,8,122,8,77,8,19,8,-40,7,-111,7,74,7,-10,6,-93,6,72,6,-22,5,-121,5,32,5,-72,4,72,4,-41,3,101,3,-16,2,125,2,2,2,-119,1,17,1,-103,0,31,0,-85,-1,49,-1,-67,-2,67,-2,-45,-3,101,-3,-13,-4,-115,-4,33,-4,-68,-5,89,-5,-5,-6,-94,-6,76,-6,-8,-7,-79,-7,96,-7,37,-7,-35,-8,-82,-8,115,-8,74,-8,32,-8,-1,-9,-31,-9,-50,-9,-68,-9,-74,-9,-80,-9,-73,-9,-64,-9,-45,-9,-24,-9,11,-8,42,-8,92,-8,-118,-8,-58,-8,1,-7,74,-7,-115,-7,-26,-7,51,-6,-104,-6,-16,-6,88,-5,-66,-5,44,-4,-104,-4,15,-3,-123,-3,-4,-3,118,-2,-18,-2,109,-1,-19,-1,100,0,-28,0,89,1,-40,1,74,2,-60,2,56,3,-93,3,21,4,116,4,-31,4,57,5,-104,5,-18,5,59,6,-119,6,-54,6,12,7,65,7,117,7,-93,7,-57,7,-24,7,-1,7,18,8,31,8,34,8,38,8,28,8,14,8,0,8,-32,7,-58,7,-97,7,116,7,73,7,13,7,-38,6,-108,6,83,6,7,6,-67,5,103,5,21,5,-71,4,89,4,-8,3,-113,3,43,3,-68,2,81,2,-34,1,109,1,-18,0,-125,0,1,0,-111,-1,16,-1,-99,-2,30,-2,-91,-3,46,-3,-74,-4,70,-4,-49,-5,96,-5,-12,-6,-114,-6,40,-6,-50,-7,110,-7,31,-7,-53,-8,-119,-8,67,-8,16,-8,-43,-9,-76,-9,-118,-9,116,-9,97,-9,87,-9,87,-9,95,-9,109,-9,-117,-9,-90,-9,-43,-9,4,-8,59,-8,-128,-8,-62,-8,20,-7,107,-7,-64,-7,38,-6,-123,-6,-15,-6,99,-5,-52,-5,70,-4,-74,-4,48,-3,-90,-3,34,-2,-101,-2,22,-1,-116,-1,2,0,121,0,-22,0,94,1,-51,1,57,2,-99,2,6,3,100,3,-63,3,25,4,116,4,-66,4,16,5,81,5,-102,5,-46,5,20,6}; }
	private static byte[] data8(){ return new byte[] {68,6,121,6,-93,6,-53,6,-15,6,11,7,43,7,57,7,81,7,87,7,99,7,96,7,99,7,88,7,77,7,61,7,36,7,12,7,-23,6,-63,6,-101,6,101,6,55,6,-13,5,-67,5,111,5,42,5,-40,4,-123,4,46,4,-49,3,108,3,10,3,-96,2,54,2,-58,1,87,1,-30,0,107,0,-8,-1,-128,-1,10,-1,-107,-2,31,-2,-86,-3,56,-3,-58,-4,93,-4,-13,-5,-115,-5,46,-5,-46,-6,118,-6,42,-6,-36,-7,-104,-7,90,-7,34,-7,-17,-8,-57,-8,-95,-8,-121,-8,113,-8,101,-8,90,-8,96,-8,96,-8,115,-8,-125,-8,-98,-8,-66,-8,-28,-8,12,-7,63,-7,113,-7,-86,-7,-23,-7,38,-6,113,-6,-76,-6,3,-5,77,-5,-96,-5,-17,-5,73,-4,-97,-4,-9,-4,83,-3,-86,-3,13,-2,100,-2,-55,-2,42,-1,-121,-1,-20,-1,73,0,-80,0,18,1,115,1,-41,1,53,2,-103,2,-11,2,87,3,-72,3,16,4,109,4,-63,4,25,5,106,5,-71,5,8,6,74,6,-110,6,-53,6,7,7,56,7,101,7,-113,7,-86,7,-55,7,-43,7,-28,7,-27,7,-32,7,-46,7,-65,7,-96,7,126,7,79,7,25,7,-34,6,-101,6,78,6,2,6,-92,5,77,5,-32,4,-127,4,13,4,-94,3,44,3,-73,2,61,2,-65,1,73,1,-56,0,84,0,-45,-1,97,-1,-26,-2,111,-2,2,-2,-111,-3,43,-3,-62,-4,101,-4,5,-4,-83,-5,92,-5,17,-5,-55,-6,-118,-6,73,-6,23,-6,-25,-7,-67,-7,-104,-7,121,-7,95,-7,74,-7,58,-7,49,-7,42,-7,42,-7,44,-7,54,-7,62,-7,83,-7,98,-7,127,-7,-106,-7,-72,-7,-39,-7,3,-6,40,-6,93,-6,-123,-6,-62,-6,-11,-6,53,-5,110,-5,-73,-5,-10,-5,67,-4,-115,-4,-29,-4,46,-3,-117,-3,-35,-3,60,-2,-103,-2,-8,-2,95,-1,-63,-1,37,0,-114,0,-13,0,93,1,-62,1,49,2,-114,2,-3,2,88,3,-65,3,23,4,120,4,-50,4,33,5,112,5,-74,5,0,6,59,6,118,6,-93,6,-45,6,-13,6,20,7,39,7,57,7,61,7,66,7,54,7,45,7,20,7,-4,6,-42,6,-79,6,-127,6,78,6,20,6,-41,5,-108,5,76,5,1,5,-76,4,99,4,15,4,-66,3,95,3,9,3,-82,2,84,2,-6,1,-100,1,63,1,-27,0,-118,0,51,0,-43,-1,-125,-1,39,-1,-48,-2,126,-2,42,-2,-39,-3,-117,-3,57,-3,-15,-4,-96,-4,91,-4,20,-4,-50,-5,-114,-5,76,-5,15,-5,-46,-6,-100,-6,101,-6,52,-6,5,-6,-37,-7,-77,-7,-111,-7,111,-7,90,-7,64,-7,53,-7,39,-7,35,-7,36,-7,43,-7,56,-7,76,-7,100,-7,-121,-7,-83,-7,-38,-7,15,-6,73,-6,-121,-6,-46,-6,29,-5,112,-5,-54,-5,33,-4,-121,-4,-23,-4,84,-3,-59,-3,44,-2,-89,-2,15,-1,-115,-1,-3,-1,116,0,-28,0,91,1,-60,1,58,2,-99,2,16,3,105,3,-47,3,37,4,127,4,-53,4,25,5,95,5,-103,5,-42,5,4,6,49,6,85,6,115,6,-114,6,-99,6,-85,6,-82,6,-81,6,-87,6,-97,6,-117,6,123,6,91,6,65,6,29,6,-12,5,-50,5,-102,5,112,5,53,5,6,5,-59,4,-116,4,77,4,10,4,-51,3,-127,3,67,3,-12,2,-85,2,96,2,19,2,-60,1,118,1,36,1,-45,0,123,0,43,0,-44,-1,-128,-1,41,-1,-43,-2,125,-2,37,-2,-46,-3,121,-3,44,-3,-45,-4,-125,-4,52,-4,-24,-5,-98,-5,87,-5,18,-5,-44,-6,-109,-6,97,-6,41,-6,-2,-7,-42,-7,-81,-7,-105,-7,120,-7,113,-7,91,-7,97,-7,91,-7,103,-7,119,-7,-117,-7,-88,-7,-53,-7,-15,-7,33,-6,84,-6,-115,-6,-50,-6,15,-5,87,-5,-94,-5,-15,-5,69,-4,-102,-4,-16,-4,75,-3,-92,-3,-1,-3,94,-2,-66,-2,22,-1,120,-1,-50,-1,45,0,-123,0,-36,0,54,1,-119,1,-41,1,45,2,115,2,-64,2,8,3,75,3,-114,3,-52,3,5,4,65,4,111,4,-89,4,-44,4,-4,4,43,5,69,5,113,5,-120,5,-92,5,-67,5,-53,5,-30,5,-25,5,-12,5,-10,5,-10,5,-13,5,-20,5,-35,5,-46,5,-74,5,-95,5,127,5,96,5,54,5,12,5,-38,4,-92,4,103,4,45,4,-27,3,-95,3,84,3,0,3,-78,2,88,2,-2,1,-91,1,66,1,-28,0,122,0,28,0,-78,-1,83,-1,-25,-2,-119,-2,30,-2,-65,-3,94,-3,1,-3,-91,-4,79,-4,-5,-5,-85,-5,95,-5,25,-5,-40,-6,-98,-6,101,-6,58,-6,12,-6,-24,-7,-50,-7,-78,-7,-89,-7,-105,-7,-105,-7,-106,-7,-94,-7,-86,-7,-58,-7,-43,-7,-2,-7}; }
	private static byte[] data9(){ return new byte[] {25,-6,71,-6,114,-6,-95,-6,-37,-6,12,-5,80,-5,-119,-5,-47,-5,17,-4,88,-4,-94,-4,-23,-4,56,-3,-122,-3,-47,-3,36,-2,109,-2,-61,-2,14,-1,97,-1,-77,-1,0,0,82,0,-97,0,-18,0,61,1,-118,1,-45,1,33,2,100,2,-80,2,-14,2,61,3,119,3,-66,3,-14,3,55,4,99,4,-92,4,-49,4,-2,4,44,5,78,5,118,5,-110,5,-85,5,-58,5,-46,5,-29,5,-24,5,-23,5,-21,5,-34,5,-43,5,-65,5,-86,5,-118,5,108,5,63,5,24,5,-29,4,-80,4,116,4,55,4,-10,3,-87,3,105,3,20,3,-55,2,122,2,31,2,-44,1,112,1,35,1,-61,0,114,0,19,0,-63,-1,102,-1,14,-1,-66,-2,104,-2,25,-2,-53,-3,127,-3,54,-3,-18,-4,-82,-4,106,-4,54,-4,-12,-5,-57,-5,-113,-5,105,-5,60,-5,24,-5,-7,-6,-40,-6,-61,-6,-85,-6,-101,-6,-113,-6,-123,-6,-128,-6,-128,-6,-128,-6,-119,-6,-108,-6,-99,-6,-75,-6,-59,-6,-30,-6,-1,-6,28,-5,66,-5,104,-5,-108,-5,-60,-5,-15,-5,43,-4,91,-4,-98,-4,-44,-4,26,-3,93,-3,-95,-3,-20,-3,50,-2,-125,-2,-51,-2,33,-1,114,-1,-61,-1,25,0,106,0,-63,0,19,1,103,1,-65,1,13,2,97,2,-81,2,-3,2,70,3,-109,3,-42,3,27,4,87,4,-108,4,-54,4,-1,4,43,5,84,5,122,5,-105,5,-80,5,-56,5,-45,5,-33,5,-30,5,-33,5,-39,5,-52,5,-71,5,-93,5,-125,5,102,5,59,5,19,5,-29,4,-81,4,116,4,62,4,-6,3,-67,3,118,3,47,3,-27,2,-102,2,73,2,2,2,-87,1,97,1,6,1,-67,0,102,0,25,0,-60,-1,122,-1,38,-1,-40,-2,-114,-2,63,-2,-3,-3,-82,-3,113,-3,40,-3,-21,-4,-85,-4,114,-4,59,-4,4,-4,-41,-5,-92,-5,124,-5,83,-5,49,-5,15,-5,-8,-6,-39,-6,-50,-6,-76,-6,-80,-6,-93,-6,-93,-6,-95,-6,-86,-6,-81,-6,-64,-6,-48,-6,-26,-6,0,-5,32,-5,64,-5,107,-5,-112,-5,-64,-5,-13,-5,34,-4,99,-4,-104,-4,-38,-4,27,-3,90,-3,-90,-3,-24,-3,53,-2,-126,-2,-52,-2,26,-1,105,-1,-74,-1,8,0,86,0,-94,0,-12,0,59,1,-118,1,-45,1,28,2,100,2,-91,2,-23,2,38,3,99,3,-102,3,-42,3,1,4,55,4,91,4,-119,4,-90,4,-52,4,-29,4,-3,4,16,5,29,5,43,5,46,5,51,5,49,5,42,5,34,5,17,5,2,5,-23,4,-46,4,-78,4,-109,4,109,4,71,4,26,4,-22,3,-68,3,-125,3,83,3,17,3,-33,2,-104,2,92,2,24,2,-42,1,-112,1,75,1,1,1,-66,0,107,0,44,0,-39,-1,-105,-1,73,-1,3,-1,-71,-2,112,-2,42,-2,-26,-3,-95,-3,98,-3,28,-3,-26,-4,-93,-4,114,-4,54,-4,9,-4,-42,-5,-87,-5,-124,-5,90,-5,62,-5,29,-5,7,-5,-16,-6,-31,-6,-47,-6,-49,-6,-60,-6,-50,-6,-54,-6,-36,-6,-28,-6,-3,-6,13,-5,48,-5,72,-5,113,-5,-105,-5,-62,-5,-13,-5,36,-4,90,-4,-106,-4,-49,-4,18,-3,82,-3,-109,-3,-34,-3,31,-2,111,-2,-71,-2,1,-1,84,-1,-103,-1,-17,-1,50,0,-118,0,-50,0,35,1,100,1,-75,1,-9,1,65,2,-128,2,-55,2,1,3,67,3,121,3,-81,3,-30,3,17,4,64,4,101,4,-118,4,-87,4,-58,4,-34,4,-15,4,0,5,10,5,19,5,16,5,20,5,8,5,2,5,-18,4,-33,4,-60,4,-82,4,-117,4,105,4,67,4,25,4,-19,3,-67,3,-117,3,85,3,26,3,-27,2,-96,2,110,2,34,2,-25,1,-95,1,93,1,29,1,-46,0,-110,0,70,0,3,0,-66,-1,118,-1,54,-1,-19,-2,-81,-2,108,-2,41,-2,-18,-3,-82,-3,118,-3,60,-3,7,-3,-46,-4,-97,-4,113,-4,69,-4,29,-4,-11,-5,-42,-5,-78,-5,-103,-5,125,-5,107,-5,88,-5,75,-5,65,-5,56,-5,59,-5,54,-5,65,-5,71,-5,84,-5,103,-5,121,-5,-108,-5,-82,-5,-49,-5,-16,-5,25,-4,66,-4,113,-4,-98,-4,-44,-4,7,-3,66,-3,120,-3,-66,-3,-13,-3,60,-2,120,-2,-66,-2,2,-1,71,-1,-113,-1,-43,-1,24,0,100,0,-92,0,-17,0,49,1,114,1,-72,1,-13,1,54,2,109,2,-80,2,-32,2,24,3,76,3,119,3,-88,3,-50,3,-11,3,26,4,55,4,83,4,105,4,-128,4,-114,4,-98,4,-91,4,-85,4,-84,4,-86,4,-92,4,-101,4,-113,4,122,4,108,4,79,4,55,4,24,4,-10,3,-47,3,-82,3,125,3,87,3,35,3,-16,2,-65,2,-124,2,81,2,17,2}; }
	private static byte[] data10(){ return new byte[] {-39,1,-104,1,88,1,24,1,-42,0,-108,0,80,0,14,0,-57,-1,-127,-1,64,-1,-7,-2,-70,-2,115,-2,54,-2,-16,-3,-74,-3,116,-3,61,-3,3,-3,-54,-4,-102,-4,100,-4,57,-4,13,-4,-24,-5,-63,-5,-90,-5,-127,-5,113,-5,89,-5,75,-5,64,-5,54,-5,56,-5,53,-5,64,-5,71,-5,88,-5,107,-5,-127,-5,-96,-5,-67,-5,-31,-5,10,-4,49,-4,98,-4,-108,-4,-60,-4,-1,-4,52,-3,114,-3,-84,-3,-19,-3,46,-2,109,-2,-79,-2,-13,-2,52,-1,122,-1,-69,-1,0,0,66,0,-124,0,-64,0,6,1,60,1,-128,1,-73,1,-14,1,38,2,95,2,-116,2,-62,2,-21,2,27,3,66,3,102,3,-113,3,-87,3,-52,3,-26,3,-5,3,21,4,34,4,53,4,61,4,76,4,73,4,86,4,76,4,79,4,69,4,59,4,48,4,29,4,10,4,-10,3,-41,3,-63,3,-100,3,121,3,87,3,41,3,2,3,-45,2,-96,2,114,2,53,2,5,2,-60,1,-111,1,76,1,19,1,-49,0,-110,0,80,0,14,0,-52,-1,-117,-1,70,-1,8,-1,-59,-2,-121,-2,73,-2,12,-2,-46,-3,-105,-3,96,-3,47,-3,-8,-4,-48,-4,-96,-4,122,-4,81,-4,50,-4,17,-4,-4,-5,-34,-5,-46,-5,-68,-5,-75,-5,-84,-5,-88,-5,-89,-5,-84,-5,-78,-5,-65,-5,-53,-5,-34,-5,-14,-5,11,-4,36,-4,71,-4,97,-4,-117,-4,-84,-4,-41,-4,-1,-4,43,-3,94,-3,-119,-3,-64,-3,-20,-3,39,-2,86,-2,-109,-2,-56,-2,2,-1,56,-1,117,-1,-84,-1,-21,-1,33,0,95,0,-105,0,-47,0,11,1,67,1,127,1,-75,1,-20,1,31,2,87,2,-123,2,-71,2,-22,2,20,3,65,3,105,3,-114,3,-77,3,-45,3,-15,3,11,4,35,4,54,4,68,4,85,4,87,4,100,4,92,4,95,4,84,4,74,4,58,4,38,4,15,4,-14,3,-42,3,-81,3,-117,3,95,3,51,3,0,3,-48,2,-104,2,97,2,39,2,-25,1,-85,1,107,1,44,1,-23,0,-85,0,98,0,38,0,-32,-1,-94,-1,96,-1,34,-1,-29,-2,-86,-2,106,-2,53,-2,-3,-3,-55,-3,-103,-3,103,-3,60,-3,18,-3,-20,-4,-57,-4,-87,-4,-120,-4,109,-4,89,-4,63,-4,52,-4,30,-4,26,-4,11,-4,11,-4,4,-4,7,-4,9,-4,16,-4,24,-4,34,-4,52,-4,65,-4,87,-4,107,-4,-125,-4,-97,-4,-70,-4,-34,-4,-6,-4,36,-3,66,-3,115,-3,-105,-3,-56,-3,-14,-3,35,-2,86,-2,-123,-2,-67,-2,-13,-2,39,-1,101,-1,-107,-1,-40,-1,9,0,74,0,-124,0,-68,0,-6,0,48,1,108,1,-94,1,-38,1,18,2,67,2,121,2,-91,2,-42,2,-1,2,43,3,78,3,117,3,-111,3,-80,3,-55,3,-36,3,-13,3,-5,3,13,4,12,4,21,4,16,4,14,4,5,4,-7,3,-23,3,-40,3,-65,3,-88,3,-118,3,106,3,74,3,35,3,-3,2,-44,2,-89,2,123,2,74,2,27,2,-22,1,-76,1,-125,1,75,1,25,1,-29,0,-83,0,118,0,66,0,9,0,-42,-1,-95,-1,106,-1,59,-1,4,-1,-45,-2,-95,-2,113,-2,66,-2,22,-2,-26,-3,-64,-3,-110,-3,108,-3,70,-3,33,-3,-1,-4,-33,-4,-62,-4,-93,-4,-115,-4,113,-4,97,-4,75,-4,64,-4,48,-4,39,-4,34,-4,29,-4,29,-4,34,-4,37,-4,49,-4,62,-4,76,-4,98,-4,120,-4,-109,-4,-82,-4,-43,-4,-14,-4,31,-3,69,-3,117,-3,-88,-3,-38,-3,22,-2,69,-2,-122,-2,-72,-2,-7,-2,47,-1,108,-1,-88,-1,-32,-1,29,0,78,0,-118,0,-65,0,-13,0,45,1,89,1,-110,1,-65,1,-16,1,34,2,73,2,119,2,-99,2,-60,2,-25,2,9,3,39,3,69,3,92,3,117,3,-124,3,-100,3,-96,3,-75,3,-76,3,-65,3,-69,3,-66,3,-76,3,-78,3,-95,3,-103,3,-127,3,117,3,88,3,65,3,36,3,8,3,-30,2,-60,2,-103,2,117,2,72,2,30,2,-17,1,-63,1,-110,1,93,1,47,1,-13,0,-57,0,-116,0,90,0,37,0,-22,-1,-68,-1,126,-1,80,-1,23,-1,-25,-2,-78,-2,-125,-2,82,-2,33,-2,-9,-3,-55,-3,-93,-3,119,-3,86,-3,47,-3,17,-3,-14,-4,-41,-4,-67,-4,-87,-4,-111,-4,-122,-4,115,-4,109,-4,98,-4,95,-4,92,-4,95,-4,98,-4,106,-4,115,-4,-124,-4,-115,-4,-86,-4,-76,-4,-40,-4,-22,-4,14,-3,42,-3,78,-3,116,-3,-106,-3,-59,-3,-23,-3,26,-2,67,-2,120,-2,-93,-2,-40,-2,7,-1,61,-1,108,-1,-89,-1,-44,-1,14,0,64,0,115,0,-88,0,-38,0,10,1,66,1,108,1,-98,1}; }
	private static byte[] data11(){ return new byte[] {-54,1,-9,1,31,2,75,2,113,2,-109,2,-70,2,-45,2,-7,2,13,3,45,3,58,3,87,3,94,3,115,3,120,3,-121,3,-125,3,-114,3,-123,3,-121,3,127,3,115,3,105,3,87,3,72,3,48,3,28,3,-1,2,-27,2,-61,2,-91,2,-128,2,90,2,54,2,11,2,-33,1,-74,1,-124,1,88,1,42,1,-11,0,-59,0,-109,0,96,0,46,0,-4,-1,-56,-1,-105,-1,96,-1,52,-1,-2,-2,-45,-2,-95,-2,117,-2,71,-2,28,-2,-14,-3,-53,-3,-90,-3,-126,-3,97,-3,63,-3,37,-3,5,-3,-12,-4,-40,-4,-55,-4,-73,-4,-86,-4,-98,-4,-105,-4,-110,-4,-114,-4,-111,-4,-111,-4,-100,-4,-95,-4,-81,-4,-68,-4,-50,-4,-30,-4,-6,-4,17,-3,45,-3,74,-3,108,-3,-118,-3,-77,-3,-42,-3,-2,-3,42,-2,80,-2,-128,-2,-85,-2,-39,-2,13,-1,56,-1,108,-1,-102,-1,-50,-1,0,0,48,0,98,0,-111,0,-59,0,-17,0,36,1,78,1,125,1,-88,1,-49,1,-4,1,31,2,70,2,105,2,-118,2,-87,2,-60,2,-31,2,-11,2,16,3,29,3,50,3,61,3,71,3,84,3,81,3,93,3,86,3,86,3,81,3,69,3,62,3,45,3,30,3,10,3,-9,2,-37,2,-60,2,-90,2,-122,2,104,2,65,2,34,2,-11,1,-44,1,-90,1,123,1,81,1,35,1,-12,0,-55,0,-106,0,105,0,54,0,7,0,-40,-1,-90,-1,123,-1,69,-1,31,-1,-25,-2,-61,-2,-110,-2,107,-2,64,-2,25,-2,-15,-3,-48,-3,-85,-3,-115,-3,110,-3,81,-3,56,-3,30,-3,13,-3,-9,-4,-23,-4,-38,-4,-48,-4,-57,-4,-61,-4,-67,-4,-63,-4,-65,-4,-56,-4,-50,-4,-39,-4,-26,-4,-9,-4,6,-3,31,-3,49,-3,79,-3,105,-3,-122,-3,-89,-3,-57,-3,-20,-3,16,-2,58,-2,93,-2,-116,-2,-79,-2,-33,-2,13,-1,57,-1,105,-1,-108,-1,-60,-1,-12,-1,32,0,82,0,126,0,-82,0,-39,0,7,1,50,1,93,1,-124,1,-79,1,-44,1,-6,1,30,2,64,2,92,2,127,2,-105,2,-77,2,-56,2,-32,2,-19,2,3,3,13,3,25,3,35,3,36,3,44,3,41,3,41,3,37,3,26,3,21,3,2,3,-4,2,-32,2,-42,2,-72,2,-92,2,-118,2,106,2,79,2,44,2,10,2,-25,1,-64,1,-100,1,112,1,73,1,29,1,-13,0,-56,0,-103,0,110,0,64,0,17,0,-27,-1,-73,-1,-117,-1,92,-1,52,-1,4,-1,-36,-2,-79,-2,-118,-2,97,-2,63,-2,22,-2,-9,-3,-44,-3,-75,-3,-103,-3,124,-3,100,-3,78,-3,57,-3,37,-3,24,-3,7,-3,0,-3,-12,-4,-16,-4,-19,-4,-21,-4,-18,-4,-15,-4,-8,-4,3,-3,14,-3,26,-3,48,-3,60,-3,88,-3,107,-3,-124,-3,-92,-3,-65,-3,-34,-3,0,-2,34,-2,69,-2,110,-2,-109,-2,-69,-2,-26,-2,12,-1,59,-1,98,-1,-111,-1,-67,-1,-23,-1,19,0,68,0,106,0,-101,0,-60,0,-19,0,25,1,64,1,101,1,-112,1,-79,1,-39,1,-9,1,25,2,54,2,83,2,111,2,-121,2,-98,2,-80,2,-59,2,-45,2,-31,2,-21,2,-11,2,-7,2,-1,2,-2,2,-1,2,-7,2,-13,2,-21,2,-35,2,-43,2,-65,2,-77,2,-105,2,-121,2,106,2,83,2,53,2,21,2,-8,1,-44,1,-79,1,-113,1,101,1,67,1,24,1,-15,0,-59,0,-99,0,115,0,69,0,31,0,-17,-1,-55,-1,-104,-1,115,-1,69,-1,32,-1,-12,-2,-50,-2,-86,-2,125,-2,98,-2,55,-2,29,-2,-7,-3,-37,-3,-63,-3,-91,-3,-115,-3,123,-3,95,-3,87,-3,61,-3,57,-3,39,-3,35,-3,27,-3,23,-3,23,-3,22,-3,27,-3,33,-3,40,-3,52,-3,64,-3,79,-3,98,-3,115,-3,-115,-3,-97,-3,-66,-3,-43,-3,-10,-3,20,-2,51,-2,86,-2,121,-2,-100,-2,-58,-2,-23,-2,18,-1,58,-1,97,-1,-114,-1,-78,-1,-28,-1,6,0,54,0,91,0,-122,0,-80,0,-43,0,2,1,34,1,78,1,108,1,-106,1,-78,1,-43,1,-10,1,15,2,46,2,70,2,95,2,116,2,-120,2,-102,2,-89,2,-71,2,-66,2,-52,2,-50,2,-42,2,-46,2,-38,2,-52,2,-47,2,-63,2,-68,2,-82,2,-97,2,-112,2,123,2,105,2,78,2,59,2,26,2,4,2,-31,1,-60,1,-92,1,-127,1,91,1,60,1,16,1,-17,0,-59,0,-99,0,119,0,77,0,35,0,-1,-1,-48,-1,-81,-1,126,-1,94,-1,48,-1,17,-1,-28,-2,-59,-2,-97,-2,123,-2,94,-2,57,-2,30,-2,2,-2,-28,-3,-49,-3,-78,-3,-94,-3,-117,-3,123,-3,108,-3,94,-3,84,-3,75,-3}; }
	private static byte[] data12(){ return new byte[] {68,-3,64,-3,64,-3,60,-3,69,-3,68,-3,80,-3,85,-3,101,-3,111,-3,-126,-3,-109,-3,-90,-3,-65,-3,-46,-3,-16,-3,8,-2,39,-2,69,-2,101,-2,-123,-2,-87,-2,-54,-2,-16,-2,20,-1,60,-1,98,-1,-121,-1,-80,-1,-40,-1,-2,-1,42,0,75,0,119,0,-100,0,-63,0,-24,0,12,1,51,1,80,1,120,1,-110,1,-75,1,-45,1,-19,1,9,2,33,2,56,2,78,2,95,2,114,2,-127,2,-115,2,-102,2,-96,2,-88,2,-84,2,-81,2,-83,2,-83,2,-91,2,-94,2,-105,2,-116,2,127,2,110,2,98,2,70,2,60,2,27,2,9,2,-22,1,-47,1,-78,1,-106,1,115,1,84,1,47,1,14,1,-24,0,-58,0,-99,0,125,0,80,0,46,0,5,0,-34,-1,-68,-1,-112,-1,112,-1,71,-1,34,-1,2,-1,-39,-2,-66,-2,-106,-2,125,-2,88,-2,65,-2,32,-2,11,-2,-15,-3,-39,-3,-57,-3,-81,-3,-90,-3,-113,-3,-120,-3,122,-3,114,-3,108,-3,103,-3,101,-3,100,-3,103,-3,107,-3,112,-3,125,-3,127,-3,-105,-3,-103,-3,-75,-3,-65,-3,-40,-3,-19,-3,4,-2,31,-2,55,-2,88,-2,113,-2,-107,-2,-80,-2,-43,-2,-11,-2,25,-1,60,-1,97,-1,-121,-1,-87,-1,-46,-1,-11,-1,25,0,67,0,99,0,-114,0,-83,0,-46,0,-10,0,22,1,57,1,90,1,118,1,-105,1,-79,1,-51,1,-26,1,-2,1,19,2,42,2,59,2,75,2,92,2,102,2,115,2,124,2,-128,2,-121,2,-119,2,-119,2,-120,2,-125,2,126,2,118,2,107,2,97,2,81,2,67,2,47,2,29,2,7,2,-14,1,-42,1,-63,1,-97,1,-119,1,100,1,76,1,38,1,8,1,-28,0,-61,0,-98,0,126,0,85,0,54,0,11,0,-19,-1,-61,-1,-92,-1,124,-1,92,-1,56,-1,21,-1,-13,-2,-43,-2,-76,-2,-105,-2,122,-2,91,-2,69,-2,42,-2,18,-2,-3,-3,-22,-3,-43,-3,-55,-3,-75,-3,-84,-3,-96,-3,-104,-3,-113,-3,-115,-3,-120,-3,-119,-3,-118,-3,-114,-3,-110,-3,-102,-3,-92,-3,-80,-3,-68,-3,-51,-3,-37,-3,-16,-3,5,-2,25,-2,52,-2,73,-2,103,-2,-127,-2,-98,-2,-68,-2,-35,-2,-4,-2,28,-1,65,-1,92,-1,-121,-1,-92,-1,-52,-1,-20,-1,17,0,52,0,87,0,124,0,-100,0,-64,0,-34,0,3,1,28,1,66,1,91,1,121,1,-107,1,-85,1,-55,1,-38,1,-12,1,6,2,25,2,38,2,57,2,66,2,78,2,89,2,91,2,101,2,99,2,104,2,100,2,99,2,93,2,86,2,76,2,67,2,52,2,40,2,22,2,3,2,-14,1,-38,1,-58,1,-86,1,-106,1,115,1,96,1,58,1,35,1,-1,0,-29,0,-65,0,-96,0,124,0,92,0,57,0,23,0,-12,-1,-46,-1,-81,-1,-115,-1,109,-1,73,-1,44,-1,10,-1,-19,-2,-52,-2,-77,-2,-109,-2,124,-2,96,-2,74,-2,49,-2,32,-2,8,-2,-6,-3,-23,-3,-38,-3,-51,-3,-60,-3,-70,-3,-76,-3,-81,-3,-85,-3,-86,-3,-83,-3,-83,-3,-77,-3,-70,-3,-63,-3,-51,-3,-40,-3,-24,-3,-13,-3,12,-2,22,-2,50,-2,68,-2,93,-2,118,-2,-113,-2,-86,-2,-56,-2,-30,-2,5,-1,32,-1,66,-1,96,-1,-124,-1,-97,-1,-56,-1,-28,-1,8,0,42,0,73,0,109,0,-118,0,-84,0,-49,0,-24,0,12,1,36,1,67,1,94,1,119,1,-111,1,-87,1,-68,1,-44,1,-27,1,-8,1,6,2,23,2,30,2,48,2,49,2,62,2,63,2,69,2,68,2,70,2,64,2,63,2,55,2,48,2,36,2,28,2,9,2,2,2,-23,1,-34,1,-60,1,-76,1,-104,1,-122,1,102,1,85,1,48,1,25,1,-5,0,-37,0,-64,0,-100,0,-128,0,93,0,64,0,27,0,-2,-1,-36,-1,-68,-1,-99,-1,119,-1,97,-1,57,-1,34,-1,2,-1,-28,-2,-52,-2,-85,-2,-102,-2,121,-2,106,-2,80,-2,60,-2,43,-2,23,-2,10,-2,-4,-3,-18,-3,-27,-3,-36,-3,-44,-3,-46,-3,-55,-3,-50,-3,-56,-3,-47,-3,-49,-3,-39,-3,-36,-3,-21,-3,-15,-3,2,-2,13,-2,32,-2,47,-2,68,-2,87,-2,110,-2,-124,-2,-98,-2,-74,-2,-47,-2,-19,-2,8,-1,37,-1,69,-1,96,-1,-124,-1,-99,-1,-61,-1,-37,-1,4,0,28,0,65,0,93,0,124,0,-99,0,-72,0,-40,0,-11,0,12,1,47,1,66,1,93,1,119,1,-119,1,-93,1,-76,1,-57,1,-39,1,-26,1,-10,1,-1,1,14,2,19,2,28,2,32,2,36,2,37,2,38,2,35,2,33,2,25,2,22,2,6,2,4,2,-16,1,-24,1,-42,1,-59,1,-76,1,-99,1}; }
	private static byte[] data13(){ return new byte[] {-116,1,115,1,93,1,67,1,42,1,17,1,-14,0,-39,0,-71,0,-97,0,127,0,97,0,68,0,33,0,7,0,-28,-1,-56,-1,-87,-1,-117,-1,108,-1,79,-1,50,-1,23,-1,-4,-2,-32,-2,-57,-2,-80,-2,-107,-2,-122,-2,105,-2,93,-2,71,-2,53,-2,41,-2,26,-2,14,-2,5,-2,-5,-3,-13,-3,-15,-3,-22,-3,-23,-3,-21,-3,-23,-3,-15,-3,-14,-3,-6,-3,3,-2,13,-2,24,-2,38,-2,53,-2,67,-2,89,-2,103,-2,-128,-2,-110,-2,-84,-2,-64,-2,-34,-2,-14,-2,18,-1,41,-1,71,-1,98,-1,-125,-1,-100,-1,-66,-1,-40,-1,-8,-1,20,0,54,0,79,0,114,0,-119,0,-86,0,-60,0,-33,0,-4,0,18,1,46,1,69,1,91,1,114,1,-124,1,-103,1,-87,1,-67,1,-57,1,-39,1,-30,1,-20,1,-8,1,-6,1,5,2,3,2,10,2,6,2,9,2,1,2,1,2,-9,1,-15,1,-24,1,-39,1,-46,1,-66,1,-77,1,-96,1,-116,1,124,1,100,1,80,1,56,1,32,1,6,1,-17,0,-47,0,-72,0,-100,0,127,0,99,0,71,0,40,0,12,0,-18,-1,-47,-1,-76,-1,-103,-1,122,-1,99,-1,64,-1,44,-1,14,-1,-9,-2,-33,-2,-57,-2,-79,-2,-101,-2,-121,-2,118,-2,98,-2,86,-2,67,-2,56,-2,44,-2,33,-2,26,-2,19,-2,10,-2,11,-2,5,-2,7,-2,8,-2,9,-2,14,-2,22,-2,27,-2,37,-2,50,-2,57,-2,77,-2,85,-2,108,-2,121,-2,-112,-2,-96,-2,-71,-2,-52,-2,-27,-2,-3,-2,22,-1,49,-1,73,-1,102,-1,127,-1,-99,-1,-73,-1,-42,-1,-16,-1,15,0,39,0,73,0,96,0,126,0,-102,0,-78,0,-50,0,-25,0,-3,0,26,1,44,1,69,1,87,1,107,1,-128,1,-115,1,-95,1,-83,1,-71,1,-56,1,-49,1,-40,1,-30,1,-30,1,-19,1,-25,1,-16,1,-24,1,-21,1,-29,1,-32,1,-41,1,-49,1,-59,1,-71,1,-84,1,-99,1,-114,1,124,1,108,1,85,1,69,1,42,1,23,1,-1,0,-25,0,-51,0,-74,0,-103,0,126,0,103,0,71,0,47,0,18,0,-11,-1,-34,-1,-68,-1,-88,-1,-123,-1,114,-1,82,-1,63,-1,33,-1,11,-1,-12,-2,-36,-2,-54,-2,-78,-2,-95,-2,-114,-2,126,-2,111,-2,95,-2,84,-2,71,-2,62,-2,53,-2,47,-2,39,-2,39,-2,32,-2,34,-2,35,-2,35,-2,41,-2,46,-2,50,-2,63,-2,68,-2,83,-2,94,-2,107,-2,125,-2,-118,-2,-98,-2,-79,-2,-62,-2,-37,-2,-20,-2,8,-1,26,-1,55,-1,77,-1,102,-1,-125,-1,-103,-1,-73,-1,-50,-1,-18,-1,4,0,35,0,57,0,88,0,110,0,-115,0,-95,0,-66,0,-46,0,-18,0,0,1,27,1,41,1,68,1,82,1,102,1,118,1,-125,1,-107,1,-97,1,-85,1,-75,1,-67,1,-59,1,-55,1,-50,1,-47,1,-48,1,-44,1,-52,1,-50,1,-60,1,-62,1,-73,1,-80,1,-93,1,-103,1,-118,1,126,1,106,1,93,1,72,1,54,1,35,1,13,1,-11,0,-30,0,-57,0,-79,0,-102,0,123,0,104,0,74,0,50,0,25,0,-6,-1,-24,-1,-59,-1,-78,-1,-107,-1,124,-1,101,-1,76,-1,52,-1,31,-1,6,-1,-14,-2,-34,-2,-54,-2,-71,-2,-91,-2,-102,-2,-125,-2,125,-2,108,-2,97,-2,91,-2,78,-2,73,-2,69,-2,61,-2,62,-2,59,-2,59,-2,62,-2,65,-2,69,-2,75,-2,83,-2,91,-2,104,-2,111,-2,-126,-2,-120,-2,-96,-2,-88,-2,-63,-2,-50,-2,-27,-2,-9,-2,14,-1,35,-1,58,-1,81,-1,104,-1,-124,-1,-104,-1,-75,-1,-54,-1,-24,-1,-2,-1,27,0,48,0,77,0,98,0,126,0,-109,0,-81,0,-63,0,-37,0,-18,0,4,1,25,1,41,1,63,1,76,1,96,1,106,1,125,1,-126,1,-106,1,-105,1,-89,1,-88,1,-80,1,-75,1,-74,1,-70,1,-74,1,-73,1,-75,1,-83,1,-82,1,-99,1,-99,1,-113,1,-123,1,122,1,106,1,92,1,79,1,55,1,47,1,19,1,5,1,-17,0,-38,0,-62,0,-83,0,-106,0,125,0,104,0,77,0,53,0,29,0,2,0,-19,-1,-47,-1,-69,-1,-94,-1,-119,-1,115,-1,90,-1,71,-1,45,-1,28,-1,4,-1,-14,-2,-32,-2,-50,-2,-68,-2,-80,-2,-99,-2,-109,-2,-122,-2,122,-2,114,-2,105,-2,97,-2,94,-2,87,-2,87,-2,82,-2,85,-2,84,-2,89,-2,91,-2,98,-2,103,-2,114,-2,120,-2,-123,-2,-113,-2,-98,-2,-86,-2,-67,-2,-56,-2,-34,-2,-19,-2,2,-1,22,-1,42,-1,63,-1,84,-1,110,-1,127,-1,-98,-1,-82,-1,-52,-1,-32,-1,-7,-1,19,0}; }
	private static byte[] data14(){ return new byte[] {38,0,69,0,86,0,114,0,-122,0,-98,0,-78,0,-55,0,-35,0,-15,0,5,1,21,1,41,1,55,1,71,1,86,1,98,1,111,1,121,1,-126,1,-116,1,-111,1,-104,1,-100,1,-98,1,-96,1,-94,1,-99,1,-96,1,-105,1,-107,1,-114,1,-123,1,126,1,114,1,104,1,91,1,77,1,62,1,48,1,30,1,12,1,-6,0,-25,0,-46,0,-64,0,-90,0,-106,0,121,0,106,0,76,0,59,0,32,0,8,0,-12,-1,-40,-1,-58,-1,-85,-1,-106,-1,-127,-1,103,-1,86,-1,63,-1,42,-1,27,-1,1,-1,-8,-2,-33,-2,-44,-2,-60,-2,-76,-2,-86,-2,-99,-2,-110,-2,-119,-2,-126,-2,120,-2,119,-2,110,-2,109,-2,108,-2,105,-2,110,-2,110,-2,112,-2,119,-2,124,-2,-124,-2,-115,-2,-106,-2,-96,-2,-82,-2,-71,-2,-54,-2,-42,-2,-22,-2,-10,-2,12,-1,29,-1,47,-1,72,-1,85,-1,114,-1,-127,-1,-100,-1,-82,-1,-57,-1,-35,-1,-11,-1,10,0,33,0,58,0,75,0,106,0,117,0,-109,0,-93,0,-70,0,-53,0,-32,0,-14,0,3,1,20,1,35,1,49,1,65,1,76,1,89,1,97,1,108,1,116,1,122,1,-127,1,-124,1,-120,1,-119,1,-117,1,-119,1,-121,1,-123,1,126,1,124,1,114,1,107,1,96,1,88,1,74,1,64,1,48,1,34,1,20,1,0,1,-12,0,-37,0,-48,0,-75,0,-88,0,-114,0,126,0,100,0,81,0,59,0,34,0,19,0,-11,-1,-28,-1,-52,-1,-75,-1,-94,-1,-115,-1,116,-1,101,-1,78,-1,59,-1,43,-1,21,-1,6,-1,-8,-2,-29,-2,-36,-2,-57,-2,-65,-2,-76,-2,-89,-2,-94,-2,-107,-2,-111,-2,-118,-2,-120,-2,-126,-2,-125,-2,127,-2,-126,-2,-126,-2,-120,-2,-120,-2,-110,-2,-107,-2,-98,-2,-88,-2,-80,-2,-67,-2,-55,-2,-42,-2,-30,-2,-10,-2,0,-1,21,-1,38,-1,51,-1,79,-1,90,-1,115,-1,-123,-1,-103,-1,-80,-1,-60,-1,-39,-1,-15,-1,3,0,28,0,47,0,69,0,90,0,109,0,-123,0,-106,0,-86,0,-67,0,-50,0,-31,0,-15,0,1,1,16,1,30,1,44,1,54,1,70,1,73,1,90,1,91,1,102,1,106,1,111,1,113,1,117,1,116,1,117,1,115,1,112,1,108,1,102,1,98,1,88,1,82,1,69,1,62,1,47,1,38,1,20,1,9,1,-9,0,-23,0,-40,0,-59,0,-76,0,-96,0,-115,0,124,0,98,0,85,0,57,0,42,0,18,0,-2,-1,-23,-1,-43,-1,-66,-1,-83,-1,-108,-1,-121,-1,107,-1,98,-1,71,-1,59,-1,39,-1,22,-1,12,-1,-13,-2,-13,-2,-40,-2,-42,-2,-57,-2,-68,-2,-73,-2,-87,-2,-86,-2,-99,-2,-98,-2,-104,-2,-106,-2,-107,-2,-105,-2,-107,-2,-101,-2,-98,-2,-96,-2,-85,-2,-83,-2,-72,-2,-63,-2,-52,-2,-43,-2,-28,-2,-18,-2,-2,-2,14,-1,26,-1,47,-1,59,-1,81,-1,97,-1,116,-1,-122,-1,-100,-1,-83,-1,-59,-1,-44,-1,-18,-1,-4,-1,25,0,35,0,65,0,76,0,103,0,116,0,-115,0,-101,0,-82,0,-63,0,-50,0,-30,0,-19,0,1,1,10,1,24,1,38,1,42,1,62,1,62,1,76,1,77,1,87,1,89,1,95,1,94,1,98,1,94,1,98,1,92,1,89,1,86,1,78,1,73,1,65,1,54,1,47,1,35,1,23,1,10,1,-3,0,-18,0,-32,0,-48,0,-66,0,-81,0,-100,0,-118,0,121,0,99,0,83,0,62,0,43,0,23,0,1,0,-14,-1,-39,-1,-54,-1,-76,-1,-95,-1,-113,-1,124,-1,106,-1,89,-1,71,-1,57,-1,37,-1,28,-1,8,-1,-2,-2,-13,-2,-29,-2,-36,-2,-47,-2,-57,-2,-61,-2,-72,-2,-74,-2,-81,-2,-84,-2,-83,-2,-90,-2,-84,-2,-89,-2,-82,-2,-81,-2,-76,-2,-70,-2,-66,-2,-54,-2,-52,-2,-36,-2,-30,-2,-16,-2,-4,-2,6,-1,25,-1,33,-1,57,-1,64,-1,88,-1,99,-1,120,-1,-118,-1,-102,-1,-80,-1,-64,-1,-44,-1,-23,-1,-7,-1,15,0,32,0,52,0,74,0,87,0,110,0,125,0,-114,0,-93,0,-80,0,-62,0,-48,0,-35,0,-16,0,-10,0,10,1,15,1,29,1,37,1,46,1,54,1,60,1,67,1,69,1,75,1,75,1,78,1,77,1,78,1,73,1,73,1,68,1,60,1,61,1,44,1,45,1,29,1,24,1,9,1,2,1,-16,0,-25,0,-43,0,-53,0,-75,0,-83,0,-108,0,-117,0,115,0,100,0,83,0,62,0,47,0,25,0,7,0,-10,-1,-31,-1,-48,-1,-67,-1,-85,-1,-103,-1,-121,-1,119,-1,101,-1,87,-1,69,-1,56,-1,40,-1,28,-1,14,-1,3,-1,-9,-2}; }
	private static byte[] data15(){ return new byte[] {-18,-2,-30,-2,-35,-2,-46,-2,-50,-2,-57,-2,-60,-2,-66,-2,-65,-2,-70,-2,-67,-2,-69,-2,-65,-2,-64,-2,-60,-2,-52,-2,-52,-2,-38,-2,-38,-2,-21,-2,-20,-2,-1,-2,3,-1,21,-1,30,-1,46,-1,59,-1,74,-1,90,-1,106,-1,122,-1,-116,-1,-101,-1,-79,-1,-68,-1,-43,-1,-29,-1,-11,-1,13,0,21,0,50,0,60,0,82,0,98,0,114,0,-123,0,-109,0,-92,0,-76,0,-64,0,-47,0,-37,0,-21,0,-12,0,0,1,12,1,17,1,29,1,35,1,42,1,47,1,52,1,56,1,56,1,61,1,58,1,60,1,58,1,55,1,50,1,48,1,39,1,36,1,28,1,17,1,10,1,-2,0,-10,0,-25,0,-35,0,-49,0,-64,0,-76,0,-94,0,-108,0,-123,0,115,0,100,0,81,0,63,0,50,0,25,0,17,0,-11,-1,-20,-1,-45,-1,-56,-1,-78,-1,-92,-1,-110,-1,-127,-1,116,-1,97,-1,84,-1,71,-1,54,-1,44,-1,30,-1,18,-1,10,-1,-3,-2,-10,-2,-20,-2,-26,-2,-33,-2,-38,-2,-43,-2,-47,-2,-48,-2,-52,-2,-50,-2,-50,-2,-51,-2,-44,-2,-47,-2,-36,-2,-35,-2,-27,-2,-21,-2,-11,-2,-5,-2,9,-1,15,-1,29,-1,42,-1,50,-1,71,-1,77,-1,96,-1,112,-1,123,-1,-111,-1,-102,-1,-78,-1,-68,-1,-45,-1,-33,-1,-12,-1,3,0,22,0,38,0,55,0,72,0,88,0,105,0,122,0,-122,0,-101,0,-95,0,-73,0,-65,0,-50,0,-37,0,-27,0,-17,0,-5,0,1,1,11,1,19,1,23,1,32,1,30,1,43,1,35,1,46,1,41,1,41,1,44,1,36,1,38,1,29,1,29,1,17,1,18,1,2,1,0,1,-13,0,-24,0,-30,0,-49,0,-53,0,-73,0,-82,0,-98,0,-114,0,-124,0,109,0,102,0,77,0,68,0,48,0,30,0,18,0,-4,-1,-17,-1,-35,-1,-54,-1,-64,-1,-89,-1,-95,-1,-120,-1,-127,-1,109,-1,96,-1,84,-1,69,-1,58,-1,46,-1,33,-1,25,-1,14,-1,6,-1,-3,-2,-9,-2,-16,-2,-22,-2,-24,-2,-32,-2,-30,-2,-34,-2,-34,-2,-35,-2,-34,-2,-29,-2,-31,-2,-20,-2,-23,-2,-12,-2,-8,-2,2,-1,6,-1,21,-1,24,-1,40,-1,49,-1,60,-1,74,-1,87,-1,100,-1,115,-1,-128,-1,-113,-1,-95,-1,-82,-1,-64,-1,-51,-1,-32,-1,-18,-1,1,0,16,0,31,0,50,0,63,0,80,0,94,0,113,0,122,0,-113,0,-105,0,-88,0,-77,0,-64,0,-54,0,-39,0,-35,0,-19,0,-15,0,-5,0,0,1,10,1,10,1,21,1,19,1,24,1,26,1,26,1,27,1,25,1,24,1,21,1,16,1,14,1,5,1,2,1,-7,0,-13,0,-24,0,-32,0,-43,0,-55,0,-62,0,-80,0,-87,0,-105,0,-116,0,126,0,110,0,96,0,82,0,63,0,53,0,31,0,21,0,1,0,-13,-1,-29,-1,-47,-1,-57,-1,-78,-1,-90,-1,-106,-1,-120,-1,122,-1,109,-1,95,-1,83,-1,70,-1,61,-1,47,-1,42,-1,27,-1,22,-1,14,-1,5,-1,2,-1,-7,-2,-8,-2,-14,-2,-15,-2,-19,-2,-18,-2,-19,-2,-17,-2,-17,-2,-14,-2,-9,-2,-6,-2,-1,-2,6,-1,11,-1,22,-1,26,-1,40,-1,44,-1,61,-1,65,-1,84,-1,90,-1,108,-1,118,-1,-125,-1,-108,-1,-97,-1,-79,-1,-66,-1,-50,-1,-35,-1,-21,-1,-3,-1,10,0,27,0,42,0,57,0,72,0,86,0,103,0,110,0,-121,0,-120,0,-96,0,-93,0,-75,0,-67,0,-57,0,-45,0,-38,0,-27,0,-22,0,-14,0,-7,0,-5,0,5,1,3,1,9,1,11,1,9,1,13,1,9,1,11,1,4,1,7,1,-6,0,-1,0,-15,0,-17,0,-24,0,-36,0,-40,0,-53,0,-61,0,-72,0,-85,0,-94,0,-109,0,-120,0,122,0,107,0,96,0,78,0,69,0,46,0,42,0,15,0,10,0,-10,-1,-26,-1,-35,-1,-57,-1,-66,-1,-83,-1,-97,-1,-110,-1,-123,-1,118,-1,109,-1,94,-1,84,-1,73,-1,61,-1,56,-1,41,-1,38,-1,26,-1,24,-1,14,-1,11,-1,5,-1,2,-1,0,-1,-3,-2,-4,-2,-3,-2,-5,-2,0,-1,-2,-2,5,-1,7,-1,12,-1,18,-1,23,-1,32,-1,36,-1,51,-1,51,-1,71,-1,72,-1,90,-1,97,-1,110,-1,123,-1,-120,-1,-106,-1,-94,-1,-81,-1,-64,-1,-54,-1,-33,-1,-26,-1,-5,-1,6,0,21,0,37,0,49,0,66,0,77,0,95,0,102,0,122,0,127,0,-108,0,-105,0,-87,0,-80,0,-69,0,-60,0,-50,0,-44,0,-34,0,-29,0,-23,0,-18,0,-11,0,-13,0,-2,0,-10,0,1,1,-6,0,-2,0,-5,0,-8,0,-9,0,-14,0}; }
	private static byte[] data16(){ return new byte[] {-18,0,-23,0,-30,0,-35,0,-45,0,-50,0,-62,0,-68,0,-81,0,-89,0,-103,0,-112,0,-126,0,121,0,102,0,96,0,77,0,66,0,53,0,34,0,28,0,4,0,1,0,-24,-1,-29,-1,-52,-1,-57,-1,-78,-1,-84,-1,-104,-1,-112,-1,-127,-1,118,-1,108,-1,94,-1,86,-1,75,-1,66,-1,59,-1,47,-1,44,-1,35,-1,30,-1,25,-1,19,-1,17,-1,14,-1,12,-1,10,-1,11,-1,8,-1,15,-1,9,-1,21,-1,16,-1,27,-1,27,-1,35,-1,42,-1,47,-1,58,-1,63,-1,75,-1,82,-1,96,-1,102,-1,116,-1,-128,-1,-119,-1,-101,-1,-95,-1,-76,-1,-67,-1,-51,-1,-39,-1,-25,-1,-9,-1,1,0,20,0,27,0,47,0,56,0,71,0,85,0,97,0,107,0,124,0,-126,0,-110,0,-103,0,-90,0,-82,0,-72,0,-63,0,-59,0,-45,0,-46,0,-33,0,-35,0,-24,0,-26,0,-19,0,-20,0,-16,0,-18,0,-15,0,-21,0,-17,0,-25,0,-23,0,-32,0,-33,0,-42,0,-45,0,-53,0,-60,0,-71,0,-76,0,-88,0,-96,0,-106,0,-120,0,-127,0,113,0,104,0,91,0,77,0,68,0,49,0,40,0,25,0,13,0,-2,-1,-14,-1,-28,-1,-43,-1,-51,-1,-72,-1,-76,-1,-95,-1,-104,-1,-115,-1,126,-1,119,-1,107,-1,96,-1,88,-1,77,-1,73,-1,59,-1,60,-1,44,-1,47,-1,37,-1,33,-1,33,-1,24,-1,28,-1,23,-1,23,-1,25,-1,22,-1,29,-1,26,-1,33,-1,35,-1,39,-1,47,-1,50,-1,59,-1,64,-1,73,-1,82,-1,90,-1,100,-1,110,-1,119,-1,-122,-1,-116,-1,-100,-1,-91,-1,-78,-1,-63,-1,-55,-1,-36,-1,-30,-1,-11,-1,-2,-1,14,0,26,0,38,0,53,0,61,0,79,0,87,0,101,0,112,0,123,0,-123,0,-112,0,-103,0,-93,0,-83,0,-78,0,-67,0,-63,0,-55,0,-50,0,-44,0,-41,0,-37,0,-34,0,-32,0,-30,0,-30,0,-30,0,-31,0,-31,0,-35,0,-38,0,-40,0,-46,0,-50,0,-55,0,-65,0,-67,0,-78,0,-85,0,-94,0,-102,0,-114,0,-121,0,120,0,115,0,97,0,92,0,75,0,65,0,53,0,39,0,29,0,13,0,3,0,-11,-1,-24,-1,-34,-1,-50,-1,-60,-1,-73,-1,-85,-1,-95,-1,-108,-1,-118,-1,126,-1,119,-1,107,-1,98,-1,91,-1,80,-1,78,-1,65,-1,64,-1,54,-1,51,-1,49,-1,40,-1,45,-1,34,-1,40,-1,33,-1,38,-1,35,-1,40,-1,38,-1,45,-1,44,-1,53,-1,53,-1,63,-1,64,-1,77,-1,77,-1,93,-1,93,-1,109,-1,113,-1,127,-1,-122,-1,-109,-1,-100,-1,-86,-1,-79,-1,-62,-1,-54,-1,-40,-1,-27,-1,-18,-1,-1,-1,7,0,22,0,34,0,44,0,60,0,67,0,82,0,92,0,103,0,114,0,123,0,-122,0,-113,0,-103,0,-98,0,-86,0,-82,0,-73,0,-67,0,-64,0,-55,0,-56,0,-47,0,-47,0,-45,0,-42,0,-43,0,-41,0,-44,0,-41,0,-49,0,-45,0,-54,0,-55,0,-60,0,-65,0,-71,0,-79,0,-83,0,-95,0,-96,0,-114,0,-113,0,124,0,122,0,107,0,97,0,87,0,75,0,66,0,50,0,44,0,24,0,22,0,1,0,-5,-1,-20,-1,-31,-1,-44,-1,-52,-1,-70,-1,-72,-1,-93,-1,-96,-1,-112,-1,-117,-1,126,-1,120,-1,107,-1,101,-1,95,-1,85,-1,80,-1,74,-1,67,-1,65,-1,57,-1,58,-1,49,-1,55,-1,45,-1,50,-1,47,-1,49,-1,47,-1,55,-1,49,-1,62,-1,56,-1,68,-1,69,-1,75,-1,84,-1,85,-1,100,-1,101,-1,113,-1,121,-1,-128,-1,-114,-1,-109,-1,-95,-1,-86,-1,-75,-1,-63,-1,-55,-1,-38,-1,-33,-1,-14,-1,-9,-1,7,0,17,0,28,0,41,0,51,0,65,0,71,0,88,0,91,0,107,0,115,0,123,0,-120,0,-117,0,-104,0,-102,0,-89,0,-86,0,-79,0,-74,0,-70,0,-64,0,-62,0,-58,0,-57,0,-55,0,-53,0,-54,0,-54,0,-54,0,-57,0,-59,0,-61,0,-67,0,-68,0,-75,0,-80,0,-86,0,-91,0,-101,0,-105,0,-117,0,-122,0,124,0,114,0,105,0,95,0,85,0,74,0,65,0,50,0,43,0,29,0,20,0,6,0,-1,-1,-19,-1,-24,-1,-39,-1,-49,-1,-59,-1,-71,-1,-81,-1,-91,-1,-100,-1,-112,-1,-118,-1,125,-1,122,-1,109,-1,106,-1,95,-1,92,-1,84,-1,80,-1,75,-1,70,-1,68,-1,63,-1,63,-1,60,-1,59,-1,60,-1,59,-1,60,-1,61,-1,65,-1,65,-1,73,-1,72,-1,80,-1,83,-1,91,-1,94,-1,105,-1,109,-1,117,-1,-128,-1,-124,-1,-110,-1,-105,-1,-94,-1,-82,-1,-75,-1}; }
	private static byte[] data17(){ return new byte[] {-62,-1,-52,-1,-42,-1,-31,-1,-19,-1,-10,-1,4,0,13,0,25,0,34,0,48,0,55,0,68,0,78,0,86,0,99,0,104,0,117,0,123,0,-124,0,-115,0,-111,0,-101,0,-95,0,-92,0,-83,0,-82,0,-75,0,-73,0,-70,0,-68,0,-65,0,-66,0,-62,0,-67,0,-64,0,-68,0,-68,0,-71,0,-75,0,-80,0,-82,0,-88,0,-93,0,-100,0,-107,0,-112,0,-122,0,-126,0,117,0,113,0,100,0,92,0,84,0,71,0,64,0,52,0,41,0,32,0,20,0,9,0,-1,-1,-11,-1,-23,-1,-32,-1,-46,-1,-52,-1,-66,-1,-72,-1,-85,-1,-93,-1,-102,-1,-111,-1,-120,-1,-127,-1,121,-1,113,-1,110,-1,96,-1,101,-1,85,-1,90,-1,78,-1,81,-1,73,-1,74,-1,71,-1,70,-1,70,-1,70,-1,70,-1,72,-1,74,-1,76,-1,80,-1,82,-1,88,-1,91,-1,99,-1,102,-1,110,-1,114,-1,127,-1,126,-1,-112,-1,-112,-1,-98,-1,-92,-1,-81,-1,-73,-1,-61,-1,-52,-1,-42,-1,-32,-1,-21,-1,-10,-1,-1,-1,11,0,20,0,31,0,42,0,50,0,62,0,70,0,82,0,88,0,99,0,108,0,113,0,126,0,-128,0,-117,0,-113,0,-105,0,-101,0,-95,0,-92,0,-85,0,-85,0,-79,0,-80,0,-74,0,-79,0,-70,0,-80,0,-71,0,-80,0,-76,0,-83,0,-82,0,-89,0,-89,0,-98,0,-100,0,-107,0,-112,0,-119,0,-127,0,124,0,112,0,110,0,95,0,93,0,77,0,74,0,59,0,53,0,43,0,30,0,25,0,8,0,5,0,-11,-1,-18,-1,-29,-1,-38,-1,-49,-1,-58,-1,-69,-1,-76,-1,-87,-1,-93,-1,-105,-1,-109,-1,-122,-1,-122,-1,119,-1,121,-1,108,-1,106,-1,101,-1,94,-1,94,-1,87,-1,86,-1,84,-1,80,-1,83,-1,76,-1,83,-1,78,-1,83,-1,82,-1,87,-1,85,-1,95,-1,93,-1,100,-1,105,-1,109,-1,116,-1,123,-1,127,-1,-119,-1,-114,-1,-103,-1,-98,-1,-87,-1,-80,-1,-71,-1,-59,-1,-53,-1,-42,-1,-31,-1,-25,-1,-10,-1,-4,-1,7,0,17,0,28,0,35,0,48,0,54,0,64,0,77,0,78,0,96,0,96,0,108,0,114,0,122,0,-128,0,-120,0,-117,0,-109,0,-107,0,-98,0,-99,0,-92,0,-91,0,-90,0,-82,0,-90,0,-82,0,-85,0,-87,0,-83,0,-89,0,-90,0,-92,0,-95,0,-101,0,-100,0,-112,0,-110,0,-121,0,-124,0,126,0,115,0,113,0,102,0,94,0,89,0,76,0,71,0,59,0,53,0,41,0,33,0,23,0,14,0,3,0,-5,-1,-16,-1,-25,-1,-34,-1,-44,-1,-52,-1,-63,-1,-70,-1,-80,-1,-87,-1,-95,-1,-104,-1,-110,-1,-118,-1,-123,-1,124,-1,122,-1,112,-1,113,-1,103,-1,103,-1,98,-1,95,-1,94,-1,91,-1,89,-1,92,-1,86,-1,93,-1,88,-1,93,-1,94,-1,96,-1,100,-1,103,-1,106,-1,113,-1,114,-1,125,-1,125,-1,-120,-1,-117,-1,-108,-1,-100,-1,-95,-1,-85,-1,-76,-1,-71,-1,-56,-1,-56,-1,-38,-1,-36,-1,-22,-1,-15,-1,-4,-1,3,0,16,0,20,0,36,0,38,0,53,0,58,0,67,0,79,0,80,0,97,0,95,0,109,0,114,0,117,0,-126,0,-128,0,-116,0,-117,0,-109,0,-107,0,-102,0,-101,0,-98,0,-96,0,-94,0,-94,0,-95,0,-93,0,-96,0,-94,0,-100,0,-100,0,-102,0,-110,0,-106,0,-120,0,-116,0,-126,0,125,0,120,0,113,0,105,0,102,0,88,0,88,0,72,0,72,0,57,0,51,0,42,0,34,0,24,0,14,0,8,0,-7,-1,-7,-1,-25,-1,-29,-1,-39,-1,-49,-1,-55,-1,-66,-1,-72,-1,-82,-1,-87,-1,-98,-1,-101,-1,-110,-1,-117,-1,-120,-1,127,-1,125,-1,117,-1,117,-1,108,-1,110,-1,104,-1,101,-1,103,-1,97,-1,100,-1,98,-1,97,-1,101,-1,99,-1,103,-1,104,-1,108,-1,109,-1,115,-1,117,-1,124,-1,-128,-1,-123,-1,-118,-1,-109,-1,-106,-1,-96,-1,-90,-1,-85,-1,-71,-1,-71,-1,-56,-1,-51,-1,-44,-1,-29,-1,-29,-1,-13,-1,-8,-1,2,0,12,0,18,0,30,0,36,0,45,0,55,0,61,0,71,0,77,0,85,0,93,0,98,0,107,0,111,0,118,0,124,0,127,0,-122,0,-119,0,-117,0,-109,0,-113,0,-102,0,-110,0,-99,0,-107,0,-99,0,-106,0,-100,0,-107,0,-104,0,-109,0,-112,0,-112,0,-119,0,-121,0,-125,0,124,0,122,0,112,0,110,0,102,0,95,0,91,0,78,0,76,0,66,0,57,0,52,0,40,0,35,0,24,0,16,0,9,0,-3,-1,-7,-1,-19,-1,-27,-1,-34,-1,-44,-1,-52,-1,-58,-1,-68,-1,-75,-1}; }
	private static byte[] data18(){ return new byte[] {-81,-1,-90,-1,-94,-1,-105,-1,-105,-1,-117,-1,-117,-1,-124,-1,126,-1,124,-1,120,-1,115,-1,115,-1,110,-1,110,-1,108,-1,107,-1,107,-1,106,-1,109,-1,107,-1,111,-1,111,-1,116,-1,116,-1,121,-1,126,-1,126,-1,-119,-1,-120,-1,-112,-1,-105,-1,-102,-1,-92,-1,-87,-1,-81,-1,-72,-1,-66,-1,-57,-1,-49,-1,-43,-1,-32,-1,-27,-1,-16,-1,-9,-1,0,0,9,0,15,0,26,0,32,0,41,0,50,0,56,0,65,0,72,0,78,0,86,0,92,0,100,0,102,0,114,0,110,0,126,0,120,0,-125,0,-124,0,-121,0,-117,0,-116,0,-114,0,-111,0,-112,0,-111,0,-110,0,-113,0,-111,0,-114,0,-116,0,-118,0,-120,0,-126,0,-125,0,121,0,122,0,114,0,110,0,104,0,98,0,91,0,88,0,76,0,74,0,63,0,57,0,50,0,41,0,34,0,26,0,17,0,10,0,0,0,-5,-1,-17,-1,-22,-1,-31,-1,-39,-1,-47,-1,-54,-1,-62,-1,-69,-1,-75,-1,-84,-1,-88,-1,-95,-1,-102,-1,-105,-1,-112,-1,-117,-1,-120,-1,-125,-1,-128,-1,124,-1,122,-1,120,-1,117,-1,117,-1,114,-1,116,-1,113,-1,118,-1,113,-1,120,-1,118,-1,122,-1,124,-1,126,-1,-123,-1,-123,-1,-116,-1,-113,-1,-107,-1,-102,-1,-97,-1,-89,-1,-86,-1,-73,-1,-76,-1,-59,-1,-60,-1,-46,-1,-44,-1,-31,-1,-28,-1,-16,-1,-11,-1,-2,-1,5,0,14,0,22,0,29,0,38,0,43,0,53,0,57,0,69,0,70,0,82,0,84,0,92,0,98,0,103,0,107,0,113,0,117,0,121,0,124,0,-128,0,-127,0,-122,0,-122,0,-121,0,-118,0,-120,0,-118,0,-119,0,-120,0,-121,0,-123,0,-125,0,-126,0,124,0,124,0,116,0,116,0,110,0,105,0,99,0,95,0,88,0,84,0,74,0,71,0,61,0,58,0,47,0,41,0,34,0,26,0,18,0,13,0,0,0,-2,-1,-15,-1,-18,-1,-29,-1,-33,-1,-44,-1,-49,-1,-57,-1,-63,-1,-71,-1,-74,-1,-86,-1,-86,-1,-96,-1,-98,-1,-105,-1,-108,-1,-115,-1,-115,-1,-123,-1,-121,-1,-128,-1,-128,-1,126,-1,122,-1,125,-1,122,-1,123,-1,122,-1,123,-1,125,-1,127,-1,126,-1,-122,-1,-127,-1,-115,-1,-119,-1,-111,-1,-107,-1,-103,-1,-98,-1,-91,-1,-90,-1,-77,-1,-78,-1,-67,-1,-62,-1,-54,-1,-50,-1,-38,-1,-37,-1,-25,-1,-19,-1,-11,-1,-5,-1,6,0,7,0,22,0,23,0,36,0,38,0,50,0,52,0,61,0,69,0,71,0,83,0,83,0,92,0,96,0,101,0,105,0,110,0,114,0,115,0,122,0,121,0,126,0,127,0,126,0,-124,0,127,0,-124,0,-127,0,-128,0,-126,0,125,0,125,0,122,0,119,0,117,0,113,0,109,0,104,0,102,0,94,0,92,0,85,0,78,0,75,0,67,0,60,0,56,0,46,0,41,0,35,0,25,0,20,0,12,0,4,0,-1,-1,-11,-1,-17,-1,-24,-1,-32,-1,-37,-1,-47,-1,-51,-1,-58,-1,-67,-1,-68,-1,-79,-1,-81,-1,-88,-1,-94,-1,-96,-1,-103,-1,-106,-1,-110,-1,-113,-1,-116,-1,-119,-1,-122,-1,-122,-1,-126,-1,-123,-1,127,-1,-123,-1,126,-1,-123,-1,-125,-1,-125,-1,-119,-1,-121,-1,-116,-1,-113,-1,-112,-1,-105,-1,-104,-1,-97,-1,-95,-1,-88,-1,-83,-1,-79,-1,-71,-1,-68,-1,-58,-1,-55,-1,-46,-1,-42,-1,-33,-1,-25,-1,-22,-1,-11,-1,-7,-1,3,0,8,0,16,0,22,0,30,0,37,0,43,0,49,0,57,0,62,0,68,0,75,0,77,0,88,0,87,0,96,0,99,0,101,0,108,0,108,0,115,0,114,0,118,0,120,0,119,0,125,0,119,0,127,0,119,0,126,0,118,0,123,0,115,0,120,0,110,0,115,0,104,0,108,0,97,0,98,0,91,0,88,0,80,0,79,0,69,0,66,0,59,0,53,0,46,0,42,0,32,0,28,0,17,0,17,0,3,0,2,0,-9,-1,-14,-1,-22,-1,-27,-1,-36,-1,-40,-1,-48,-1,-53,-1,-61,-1,-65,-1,-72,-1,-76,-1,-81,-1,-88,-1,-91,-1,-95,-1,-99,-1,-104,-1,-104,-1,-113,-1,-109,-1,-115,-1,-116,-1,-117,-1,-120,-1,-117,-1,-122,-1,-117,-1,-121,-1,-117,-1,-117,-1,-116,-1,-113,-1,-111,-1,-109,-1,-103,-1,-104,-1,-98,-1,-92,-1,-93,-1,-83,-1,-80,-1,-77,-1,-67,-1,-66,-1,-58,-1,-51,-1,-48,-1,-39,-1,-33,-1,-28,-1,-19,-1,-15,-1,-6,-1,0,0,6,0,14,0,18,0,29,0,30,0,42,0,43,0,54,0,55,0,66,0,66,0,75,0,78,0,86,0,85,0,96,0,93,0,102,0,103,0,104,0,112,0,107,0,116,0,111,0,118,0}; }
	private static byte[] data19(){ return new byte[] {114,0,117,0,116,0,115,0,116,0,113,0,114,0,108,0,111,0,103,0,105,0,98,0,96,0,93,0,87,0,84,0,78,0,74,0,68,0,64,0,57,0,50,0,49,0,36,0,36,0,25,0,21,0,15,0,6,0,3,0,-8,-1,-10,-1,-19,-1,-26,-1,-29,-1,-40,-1,-41,-1,-51,-1,-55,-1,-60,-1,-67,-1,-71,-1,-75,-1,-84,-1,-82,-1,-92,-1,-91,-1,-98,-1,-99,-1,-104,-1,-104,-1,-109,-1,-108,-1,-111,-1,-112,-1,-113,-1,-112,-1,-115,-1,-111,-1,-113,-1,-111,-1,-108,-1,-110,-1,-104,-1,-104,-1,-100,-1,-98,-1,-93,-1,-90,-1,-86,-1,-82,-1,-77,-1,-73,-1,-65,-1,-65,-1,-53,-1,-54,-1,-42,-1,-43,-1,-29,-1,-32,-1,-14,-1,-21,-1,-3,-1,-5,-1,5,0,12,0,16,0,24,0,30,0,35,0,42,0,47,0,53,0,58,0,65,0,67,0,75,0,78,0,81,0,88,0,89,0,94,0,98,0,98,0,102,0,106,0,104,0,110,0,106,0,112,0,108,0,112,0,107,0,112,0,105,0,110,0,102,0,105,0,100,0,98,0,95,0,91,0,88,0,85,0,79,0,77,0,70,0,66,0,61,0,56,0,49,0,47,0,36,0,36,0,24,0,23,0,14,0,8,0,4,0,-5,-1,-9,-1,-16,-1,-23,-1,-27,-1,-34,-1,-40,-1,-45,-1,-51,-1,-56,-1,-62,-1,-65,-1,-71,-1,-76,-1,-79,-1,-85,-1,-86,-1,-91,-1,-93,-1,-98,-1,-97,-1,-104,-1,-99,-1,-109,-1,-101,-1,-110,-1,-105,-1,-107,-1,-108,-1,-105,-1,-105,-1,-105,-1,-101,-1,-102,-1,-97,-1,-96,-1,-92,-1,-91,-1,-85,-1,-82,-1,-79,-1,-73,-1,-71,-1,-65,-1,-58,-1,-57,-1,-47,-1,-47,-1,-37,-1,-32,-1,-29,-1,-18,-1,-19,-1,-7,-1,-4,-1,4,0,8,0,15,0,21,0,25,0,35,0,35,0,46,0,48,0,53,0,61,0,61,0,71,0,72,0,77,0,81,0,84,0,88,0,92,0,91,0,99,0,96,0,101,0,102,0,101,0,105,0,103,0,105,0,103,0,104,0,102,0,102,0,99,0,99,0,94,0,95,0,90,0,87,0,86,0,78,0,78,0,73,0,67,0,65,0,57,0,56,0,47,0,45,0,37,0,33,0,26,0,23,0,14,0,11,0,2,0,0,0,-10,-1,-11,-1,-22,-1,-24,-1,-31,-1,-36,-1,-42,-1,-47,-1,-51,-1,-58,-1,-61,-1,-66,-1,-71,-1,-73,-1,-80,-1,-80,-1,-86,-1,-87,-1,-92,-1,-93,-1,-94,-1,-99,-1,-96,-1,-101,-1,-101,-1,-100,-1,-103,-1,-99,-1,-102,-1,-98,-1,-102,-1,-94,-1,-99,-1,-90,-1,-94,-1,-86,-1,-88,-1,-80,-1,-81,-1,-73,-1,-72,-1,-67,-1,-61,-1,-61,-1,-49,-1,-51,-1,-41,-1,-39,-1,-33,-1,-25,-1,-23,-1,-13,-1,-14,-1,-1,-1,-2,-1,11,0,10,0,19,0,23,0,29,0,36,0,40,0,44,0,50,0,55,0,58,0,65,0,67,0,73,0,75,0,79,0,81,0,87,0,87,0,91,0,92,0,94,0,97,0,95,0,100,0,96,0,100,0,98,0,97,0,99,0,95,0,95,0,93,0,91,0,90,0,85,0,85,0,78,0,79,0,73,0,70,0,65,0,62,0,55,0,55,0,45,0,45,0,34,0,35,0,25,0,22,0,17,0,9,0,5,0,1,0,-8,-1,-9,-1,-20,-1,-20,-1,-30,-1,-30,-1,-41,-1,-41,-1,-49,-1,-53,-1,-56,-1,-62,-1,-65,-1,-70,-1,-73,-1,-77,-1,-79,-1,-81,-1,-89,-1,-83,-1,-94,-1,-89,-1,-92,-1,-96,-1,-93,-1,-98,-1,-94,-1,-97,-1,-92,-1,-99,-1,-89,-1,-98,-1,-86,-1,-92,-1,-85,-1,-84,-1,-82,-1,-79,-1,-76,-1,-71,-1,-69,-1,-62,-1,-63,-1,-54,-1,-53,-1,-45,-1,-42,-1,-39,-1,-29,-1,-30,-1,-18,-1,-18,-1,-11,-1,-6,-1,2,0,2,0,15,0,12,0,24,0,24,0,33,0,35,0,43,0,45,0,51,0,55,0,58,0,64,0,67,0,71,0,73,0,79,0,77,0,86,0,82,0,88,0,89,0,90,0,92,0,91,0,93,0,94,0,93,0,92,0,93,0,90,0,92,0,87,0,88,0,83,0,83,0,80,0,77,0,73,0,71,0,66,0,63,0,60,0,54,0,50,0,47,0,40,0,38,0,30,0,28,0,20,0,18,0,10,0,7,0,0,0,-4,-1,-10,-1,-15,-1,-19,-1,-25,-1,-31,-1,-34,-1,-40,-1,-45,-1,-46,-1,-56,-1,-55,-1,-62,-1,-65,-1,-68,-1,-71,-1,-76,-1,-76,-1,-81,-1,-82,-1,-84,-1,-86,-1,-89,-1,-87,-1,-91,-1,-89,-1,-91,-1,-91,-1,-90,-1,-90,-1,-88,-1,-88,-1,-87,-1,-83,-1,-85,-1,-78,-1,-79,-1,-75,-1,-72,-1,-69,-1,-65,-1}; }
	private static byte[] data20(){ return new byte[] {-63,-1,-56,-1,-56,-1,-47,-1,-48,-1,-39,-1,-37,-1,-31,-1,-27,-1,-21,-1,-17,-1,-11,-1,-8,-1,0,0,3,0,9,0,14,0,18,0,25,0,27,0,35,0,36,0,44,0,46,0,51,0,55,0,59,0,63,0,65,0,70,0,71,0,77,0,75,0,83,0,78,0,87,0,83,0,86,0,89,0,85,0,90,0,87,0,89,0,87,0,86,0,86,0,84,0,83,0,80,0,78,0,76,0,75,0,68,0,70,0,62,0,61,0,57,0,52,0,51,0,41,0,45,0,30,0,37,0,22,0,23,0,17,0,12,0,7,0,2,0,-4,-1,-7,-1,-12,-1,-19,-1,-22,-1,-27,-1,-33,-1,-33,-1,-45,-1,-41,-1,-53,-1,-50,-1,-58,-1,-60,-1,-64,-1,-68,-1,-68,-1,-75,-1,-72,-1,-80,-1,-78,-1,-82,-1,-82,-1,-84,-1,-84,-1,-85,-1,-87,-1,-85,-1,-86,-1,-85,-1,-83,-1,-86,-1,-79,-1,-82,-1,-79,-1,-75,-1,-77,-1,-68,-1,-72,-1,-64,-1,-64,-1,-59,-1,-54,-1,-55,-1,-46,-1,-45,-1,-40,-1,-33,-1,-34,-1,-24,-1,-23,-1,-17,-1,-12,-1,-6,-1,-4,-1,3,0,6,0,14,0,14,0,25,0,23,0,31,0,37,0,35,0,47,0,45,0,52,0,55,0,58,0,61,0,66,0,66,0,72,0,71,0,77,0,75,0,80,0,80,0,80,0,85,0,80,0,85,0,82,0,85,0,80,0,86,0,77,0,83,0,76,0,79,0,73,0,73,0,70,0,68,0,64,0,61,0,59,0,54,0,52,0,46,0,44,0,38,0,37,0,28,0,28,0,21,0,17,0,12,0,8,0,3,0,-1,-1,-8,-1,-8,-1,-20,-1,-15,-1,-28,-1,-28,-1,-32,-1,-41,-1,-37,-1,-50,-1,-45,-1,-56,-1,-55,-1,-60,-1,-63,-1,-65,-1,-68,-1,-71,-1,-73,-1,-74,-1,-76,-1,-78,-1,-79,-1,-80,-1,-81,-1,-79,-1,-83,-1,-80,-1,-81,-1,-81,-1,-77,-1,-80,-1,-75,-1,-76,-1,-72,-1,-72,-1,-68,-1,-66,-1,-63,-1,-60,-1,-57,-1,-54,-1,-50,-1,-46,-1,-43,-1,-38,-1,-35,-1,-30,-1,-26,-1,-21,-1,-18,-1,-12,-1,-8,-1,-4,-1,1,0,6,0,10,0,14,0,20,0,22,0,28,0,34,0,33,0,42,0,42,0,48,0,53,0,52,0,59,0,60,0,62,0,69,0,65,0,72,0,73,0,73,0,76,0,76,0,78,0,78,0,80,0,76,0,82,0,76,0,79,0,77,0,75,0,75,0,74,0,69,0,72,0,64,0,67,0,60,0,59,0,57,0,50,0,52,0,44,0,42,0,38,0,34,0,29,0,28,0,18,0,22,0,8,0,12,0,2,0,-1,-1,-3,-1,-10,-1,-14,-1,-17,-1,-24,-1,-25,-1,-30,-1,-36,-1,-37,-1,-44,-1,-43,-1,-51,-1,-52,-1,-55,-1,-61,-1,-57,-1,-69,-1,-60,-1,-75,-1,-63,-1,-79,-1,-67,-1,-79,-1,-72,-1,-78,-1,-76,-1,-77,-1,-76,-1,-77,-1,-75,-1,-76,-1,-74,-1,-72,-1,-72,-1,-69,-1,-68,-1,-64,-1,-64,-1,-60,-1,-59,-1,-53,-1,-52,-1,-47,-1,-47,-1,-39,-1,-39,-1,-32,-1,-31,-1,-25,-1,-21,-1,-18,-1,-13,-1,-8,-1,-6,-1,2,0,3,0,8,0,14,0,15,0,23,0,24,0,30,0,33,0,36,0,42,0,42,0,50,0,48,0,57,0,54,0,61,0,60,0,66,0,64,0,71,0,66,0,75,0,69,0,75,0,73,0,75,0,74,0,76,0,73,0,74,0,74,0,70,0,75,0,64,0,73,0,62,0,66,0,61,0,58,0,58,0,52,0,52,0,46,0,44,0,41,0,36,0,34,0,29,0,25,0,21,0,18,0,12,0,11,0,3,0,2,0,-5,-1,-7,-1,-11,-1,-17,-1,-18,-1,-27,-1,-26,-1,-32,-1,-35,-1,-39,-1,-42,-1,-48,-1,-46,-1,-54,-1,-53,-1,-58,-1,-60,-1,-62,-1,-63,-1,-68,-1,-65,-1,-72,-1,-67,-1,-74,-1,-69,-1,-75,-1,-71,-1,-73,-1,-72,-1,-72,-1,-72,-1,-69,-1,-70,-1,-68,-1,-65,-1,-66,-1,-60,-1,-63,-1,-55,-1,-58,-1,-50,-1,-50,-1,-47,-1,-42,-1,-42,-1,-33,-1,-36,-1,-25,-1,-29,-1,-19,-1,-19,-1,-11,-1,-12,-1,-2,-1,-4,-1,5,0,5,0,13,0,14,0,19,0,24,0,25,0,31,0,35,0,36,0,41,0,46,0,45,0,51,0,53,0,54,0,61,0,57,0,64,0,63,0,66,0,67,0,68,0,68,0,72,0,68,0,72,0,70,0,70,0,71,0,68,0,69,0,68,0,65,0,65,0,62,0,62,0,59,0,55,0,56,0,49,0,50,0,46,0,40,0,42,0,34,0,32,0,30,0,23,0,22,0,18,0,12,0,11,0,5,0,1,0,-1,-1,-7,-1}; }
	private static byte[] data21(){ return new byte[] {-10,-1,-15,-1,-16,-1,-25,-1,-21,-1,-34,-1,-29,-1,-38,-1,-39,-1,-41,-1,-48,-1,-46,-1,-53,-1,-52,-1,-56,-1,-59,-1,-59,-1,-63,-1,-63,-1,-65,-1,-67,-1,-65,-1,-70,-1,-67,-1,-70,-1,-67,-1,-70,-1,-66,-1,-70,-1,-65,-1,-67,-1,-63,-1,-64,-1,-60,-1,-62,-1,-55,-1,-57,-1,-51,-1,-52,-1,-46,-1,-47,-1,-38,-1,-42,-1,-33,-1,-32,-1,-29,-1,-24,-1,-20,-1,-21,-1,-9,-1,-13,-1,-4,-1,-3,-1,1,0,7,0,10,0,11,0,19,0,19,0,26,0,26,0,34,0,31,0,41,0,40,0,42,0,51,0,45,0,55,0,53,0,56,0,59,0,59,0,63,0,62,0,65,0,64,0,66,0,67,0,66,0,67,0,67,0,66,0,66,0,65,0,63,0,64,0,61,0,60,0,59,0,54,0,56,0,50,0,50,0,47,0,43,0,41,0,38,0,34,0,32,0,27,0,26,0,19,0,19,0,13,0,9,0,9,0,-2,-1,4,0,-10,-1,-5,-1,-14,-1,-16,-1,-19,-1,-25,-1,-25,-1,-31,-1,-32,-1,-38,-1,-38,-1,-45,-1,-42,-1,-50,-1,-49,-1,-52,-1,-56,-1,-55,-1,-60,-1,-58,-1,-62,-1,-62,-1,-63,-1,-64,-1,-65,-1,-65,-1,-64,-1,-66,-1,-63,-1,-66,-1,-62,-1,-64,-1,-58,-1,-63,-1,-57,-1,-58,-1,-54,-1,-52,-1,-52,-1,-46,-1,-49,-1,-39,-1,-43,-1,-36,-1,-33,-1,-34,-1,-23,-1,-29,-1,-17,-1,-19,-1,-14,-1,-9,-1,-8,-1,-2,-1,1,0,4,0,8,0,13,0,13,0,21,0,19,0,30,0,25,0,35,0,33,0,37,0,44,0,41,0,47,0,49,0,49,0,55,0,53,0,57,0,59,0,56,0,65,0,57,0,66,0,59,0,66,0,61,0,65,0,61,0,64,0,61,0,60,0,62,0,55,0,61,0,52,0,56,0,49,0,52,0,45,0,46,0,42,0,39,0,36,0,35,0,28,0,30,0,22,0,22,0,16,0,15,0,9,0,8,0,2,0,0,0,-3,-1,-9,-1,-9,-1,-17,-1,-15,-1,-24,-1,-21,-1,-32,-1,-27,-1,-35,-1,-38,-1,-36,-1,-46,-1,-42,-1,-48,-1,-48,-1,-53,-1,-50,-1,-57,-1,-55,-1,-58,-1,-60,-1,-57,-1,-62,-1,-60,-1,-62,-1,-62,-1,-61,-1,-61,-1,-61,-1,-57,-1,-54,-1,-49,-1,-47,-1,-39,-1,-41,-1,-32,-1,-32,-1,-26,-1,-23,-1,-19,-1,-18,-1,-12,-1,-12,-1,-9,-1,-3,-1,-9,-1,3,0,-4,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-07.wav. */
	public Drum07(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-07.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-07.wav. */
	private class LoopThread extends Thread {
		private Drum07 clip;
		private boolean looping = true;
		public LoopThread(Drum07 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-07.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-07.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-07.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-07.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-07.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}